PHP

[Android Studio] material-calendar의 지정된 날짜에 decorate해주기

미스털이 사용자 2024. 10. 17. 17:34
반응형

 

DayViewDecorator는 material-calendar의 특정 날짜에 데코 해주는 기능이다.

이때 addSpan을 이용하면 canvas를 통해 점이나 텍스트를 넣어줄 수 있다.

 

이때 문제가 생기는 shouldDecorate라는 오버라이드 메소드 때문에 반드시 날짜 객체는 CalendarDay라는 Material-Calendar의 고유 객체를 사용해야한다.

 

 

이 생성자를 찾아봤는데 Parcel이란 직렬객체(?)를 이용해야한다길래 포기했었다.

 

그래서 다른 방법이 없을까 하고 열심히 검색해본 결과, 대체할 수 있는 법을 찾았다.

 

바로 from이란 static메소드를 이용하면 CalendarDay객체를 쉽게 생성할 수 있다.

 

 

단, Date객체로 변환시켜 getYear~getDate메소드 통해 년월일을 얻으려했는데 deprecated됐다. 그래서 LocalDate객체를 통해 년월일을 뽑았다.

 

 

최종적으로 다음과 같이 DayViewDecorator를 상속한 클래스 생성자를 만들어 개별적으로 라벨표시해주기로 계획했다.

반응형