반응형
material엔 decorator라는 커스터마이징할 수 있는 장치가 있다.
이를 설정하려면
addDecorator, addDecorators
기존 설정을 없애려면
removeDecoators, invalidateDecorators
위의 메소드를 잘 사용하면 된다.
이번엔 addDecorator에 공통으로 적용할 사항을 넣어주려고 한다.
다음과 같이 메소드 선언해주고 괄호 안에 SelectDecorator를 넣어준다.
이 selectDecorator는 내가 임의로 만든 클래스다.
여기서 눈 여겨 봐야할 게 3가지다.
1. shouldDecorator에서 true를 리턴해야 내가 설정한 drawable이 보여진다.
2. decorator에서 view.setSelectionDrawable로 생성자에서 지정한 drawable을 적용해야 한다.
3. 마지막으로 calendar_selector라는 drawable을 만들어야 생성자에서 제대로 지정된다.
그러면 이 calendar_selector라는 xml은 뭔지 보자.
state_~~~에 의해서 각 이벤트별 drawable을 지정해준다.
pressed는 눌렀을 때, checked는 지정했을 때 이벤트를 뜻한다.
마지막으로 state가 없는 상태면 딱 기본 상태다.
위의 item태그에 지정된 drawable은 shape xml을 통해 설정된다.
그럼 각 날짜별로 다음과 같이 눌렀을 때, 눌린 후, 기본 상태값별로 스타일이 지정돼 나타날 것 이다.
반응형
'PHP' 카테고리의 다른 글
remove actionBar, navigationBar programmatically (0) | 2024.10.30 |
---|---|
[Material-Calendar 응용] 특정한 날짜들에 스타일 적용시켜주기 (DayViewDecorator응용) (0) | 2024.10.23 |
[Android Studio] material-calendar의 지정된 날짜에 decorate해주기 (1) | 2024.10.17 |
안드로이드 스튜디오 dependency 문제해결 (0) | 2024.10.15 |
(mariadb, mysql 오류해결) too many connections (0) | 2024.07.06 |