Изменение цвета выбранных дат в виджете CalendarView для Android
Как мне изменить цвет выбранного дня в виджете CalendarView, предоставляемом Android. Кажется, я не нахожу пути в документации.
Я могу изменить VerticalBars с помощью атрибута setSelectedDateVerticalBar, но я хочу установить цвет фона, как показано на этом рисунке.
Я хочу установить цвет и внешний вид, как показано слева, но все, что я могу получить, это изображение справа. Библиотека CalendarView так плохо построена?
Любая помощь с благодарностью.
2 ответа
Там нет никакого способа сделать то, что вы пытаетесь достичь в настоящее время. Представление календаря очень ограничено в своей функциональности.
Смотрите это: Изменить стиль Calendar View
Вы можете изменить выбранный цвет даты, создав селектор.
создайте файл селектора: your_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="@color/white" />
<item android:color="@color/color_black" />
</selector>
Используйте свой селектор в стиле:
<style name="CalenderViewDateCustomText">
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/white</item>
<item name="colorControlHighlight">@color/white</item>
<item name="android:textColor">@drawable/your_selector</item>
</style>
используйте его в представлении календаря:
<CalendarView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/CalenderViewCustom"
android:dateTextAppearance="@style/CalenderViewDateCustomText"
android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />