更改Android CalendarView小部件中已选日期的颜色

18

如何更改由Android提供的CalendarView小部件中所选日期的颜色。 我在文档中没有找到任何方法。

我可以使用setSelectedDateVerticalBar属性更改垂直条,但是我想设置像此图片中显示的背景颜色。 enter image description here

我想要将颜色和外观设置为左侧的那个,但我只能得到右侧的那个。 CalendarView库是否构建得如此糟糕?

非常感谢您的任何帮助。

2个回答

4

目前没有办法实现您想要的功能。日历视图在其功能方面非常有限。

请参考此链接: Change CalendarView style


0

您可以通过创建选择器来更改所选日期的颜色。

创建一个名为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" />

日历示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接