更改日历视图中当前日期的文本颜色

问题描述 投票:0回答:2

我正在尝试在CalendarView中创建以下样式:

enter image description here

我设法做的是:

enter image description here

东西是即时消息所在的日期的颜色是白色,标记也是白色。

例如,如何将这一天的颜色更改为黑色?

我的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,那么很高兴知道=]谢谢

android android-view android-xml android-styles calendarview
2个回答
2
投票

选项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"/>

0
投票

尝试以下代码:

<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"/>

使用上述代码的输出是:

enter image description here希望它对您有用

© www.soinside.com 2019 - 2024. All rights reserved.