본문 바로가기
안드로이드

안드로이드 커스텀 캘린더 사용하기 ( 4 - 특정 날짜에 점을 표시하기 )

by 아스키의 공부방 2020. 8. 13.
728x90
반응형

https://gameprograming.tistory.com/126

 

안드로이드 커스텀 캘린더 사용하기 ( 3 - 오늘 날짜 표시해주기 )

https://gameprograming.tistory.com/125 안드로이드 커스텀 캘린더 사용하기 ( 2 - 클릭한 날짜 표시하기 ) https://gameprograming.tistory.com/124 안드로이드 커스텀 캘린더 사용하기 ( 1 - 주말에 색상 적용..

gameprograming.tistory.com

EventDecorator 자바 소스를 추가합니다.

 

public class EventDecorator implements DayViewDecorator {

    private final int color;
    private final HashSet<CalendarDay> dates;

    public EventDecorator(int color, Collection<CalendarDay> dates) {
        this.color = color;
        this.dates = new HashSet<>(dates);
    }

    @Override
    public boolean shouldDecorate(CalendarDay day) {
        return dates.contains(day);
    }

    @Override
    public void decorate(DayViewFacade view) {
        view.addSpan(new DotSpan(5, color));
    }
}

 

메인 소스 (캘린더 뷰가 있는곳에서)

        MaterialCalendarView calendarView = findViewById(R.id.calendarView);
        calendarView.setSelectedDate(CalendarDay.today());

        calendarView.addDecorator(new EventDecorator(Color.RED, Collections.singleton(CalendarDay.today())));

 

적용 끝

728x90
반응형