Изменить цвет текущей даты в MaterialCalandarView

Я использую MaterialCalendarView, Вот код:

<com.prolificinteractive.materialcalendarview.MaterialCalendarView
    android:id="@+id/calendar_view"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_margin="@dimen/standard_space"
    android:layout_weight="1"
    app:mcv_dateTextAppearance="@dimen/very_small_text_size"
    app:mcv_showOtherDates="all"/>

Я хочу дать черную границу текущей дате, как я могу дать это?

Заранее спасибо.

1 ответ

Если вы хотите установить цвет всех выбранных дат, вы должны добавить эту строку в ваш XML:

 app:mcv_selectionColor="@color/yourColor"

и выбрать текущую дату:

calendarView.setDateSelected(Calendar.getInstance(),true);

Если вы хотите установить другой цвет только для текущей даты, вам нужно добавить Decorator в ваш MaterialCalendarView:

 calendarView.addDecorator(new DayViewDecorator() {
        @Override
        public boolean shouldDecorate(CalendarDay day) {
            Calendar cal1 = day.getCalendar();
            Calendar cal2 = Calendar.getInstance();

            return (cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA)
                    && cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
                    && cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR));
        }

        @Override
        public void decorate(DayViewFacade view) {
            view.setBackgroundDrawable(ContextCompat.getDrawable(MainActivity.this,R.drawable.selector));
        }
    });

Где selector - ваш пользовательский файл selector.xml, например:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_shortAnimTime">

<item
    android:state_checked="true"
    android:drawable="@color/yourColor"
    />

<item
    android:state_pressed="true"
    android:drawable="@color/yourColor"
    />

<item android:drawable="@android:color/transparent" />

Ссылка на ссылку селектора: https://github.com/prolificinteractive/material-calendarview/blob/master/docs/CUSTOM_SELECTORS.md

Ссылка на ссылку для декораторов: https://github.com/prolificinteractive/material-calendarview/blob/master/docs/DECORATORS.md

Другие вопросы по тегам