我正在尝试在CalendarView
中创建以下样式:
我设法做的是:
东西是即时消息所在的日期的颜色是白色,标记也是白色。
例如,如何将这一天的颜色更改为黑色?
我的xml是:
<CalendarView
android:id="@+id/cv_BorrowCalendar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cv_background"
android:theme="@style/CalenderViewCustom"
android:dateTextAppearance="@style/CalenderViewDateCustomText"
android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
app:layout_constraintBottom_toTopOf="@+id/bottom_navigation"
app:layout_constraintTop_toBottomOf="@+id/rv_Borrowing" />
和样式:
<!-- Calendar -->
<style name="CalenderViewCustom" parent="Theme.AppCompat">
<item name="colorAccent">@color/colorWhite</item>
<item name="colorPrimary">@color/colorWhite</item>
</style>
<style name="CalenderViewDateCustomText" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textColor">@color/colorWhite</item>
<item name="android:weekNumberColor">@color/colorLightPurple</item>
</style>
<style name="CalenderViewWeekCustomText" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textColor">@color/colorWhite</item>
</style>
此外,如果有一种方法可以将日期名称更改为sun而不是s或mon而不是m,那么很高兴知道=]谢谢
选项1:
在CalendarView中设置样式
<CalendarView
android:id="@+id/calendarView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:theme="@style/CalenderViewCustom"
android:dateTextAppearance="@style/CalenderViewDateCustomText"
android:weekDayTextAppearance="@style/CalenderViewWeekCustomText" />
Inside Style.xml
<style name="CalenderViewCustom" parent="Theme.AppCompat">
<item name="colorAccent">@color/red</item>
<item name="colorPrimary">@color/white</item>
</style>
<style name="CalenderViewDateCustomText" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textColor">@color/white</item>
<item name="android:weekNumberColor">@color/red</item>
</style>
<style name="CalenderViewWeekCustomText" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textColor">@color/white</item>
</style>
选项2:
android:theme="@style/testTheme"
使用此主题或具有父主题的自定义主题。
使其变白
要选择白色以外的颜色,请使用以下方法
android:textColorPrimary="@color/yourColor"
或其他文本颜色使用以下
<CalendarView
android:weekDayTextAppearance="@style/weekDayTextAppearance"
android:dateTextAppearance="@style/appTextAppearance"
android:unfocusedMonthDateColor="@color/colorLoginBtn"
android:selectedWeekBackgroundColor="@color/colorLoginBtn"
android:weekSeparatorLineColor="@color/colorLoginBtn"
android:focusedMonthDateColor="@color/colorLoginBtn"
android:weekNumberColor="@color/colorLoginBtn"/>
尝试以下代码:
<CalendarView
android:id="@+id/cv_BorrowCalendar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/cv_background"
android:theme="@style/CalenderViewCustom"
android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"/>
使用上述代码的输出是: