gpt4 book ai didi

java - 禁用日期的不同颜色 CalendarView

转载 作者:行者123 更新时间:2023-12-04 23:59:36 31 4
gpt4 key购买 nike

我创建了一个自定义 CalendarView,如下所示:
enter image description here
我希望过去的所有日子都是不同的颜色。
我的 XML 是:

<CalendarView
android:id="@+id/cv_Calendar"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/cv_background"
android:dateTextAppearance="@style/CalenderViewDateCustomText"
android:theme="@style/CalenderViewCustom"
android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
app:layout_constraintTop_toBottomOf="@+id/tv_With" />
我的风格是:
<style name="CalenderViewCustom" parent="Theme.AppCompat">
<item name="colorAccent">@color/colorLightGray</item>
<item name="colorPrimary">@color/colorLightPurple</item>
<item name="android:textColorPrimary">@color/colorGrayText</item>
</style>

<style name="CalenderViewDateCustomText" parent="android:TextAppearance.Holo.Small">
<item name="android:textColor">@color/colorLightPurple</item>
<item name="android:weekNumberColor">@color/colorLightPurple</item>
</style>

<style name="CalenderViewWeekCustomText" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textColor">@color/colorLightPurple</item>
</style>
我以编程方式设置了最小日期:
calendarView = findViewById( R.id.cv_Calendar );
calendarView.setMinDate( System.currentTimeMillis() );
calendarView.setOnDateChangeListener( (arg0, year, month, date) -> {
GregorianCalendar cal = new GregorianCalendar( year, month, date );
dateInMillis = cal.getTimeInMillis();
} );
知道如何改变颜色吗?
谢谢

最佳答案

我不确定你是否还需要这个问题的答案,但如果其他人遇到这个问题,你可以这样做:
基本上你需要改变textColor您用来引用选择器的属性应该如下所示:
选择器日期文本颜色.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!-- The color used by the disabled dates (i.e. everything outside the range you set with minDate and maxDate) -->
<item android:color="@color/gray" android:state_enabled="false" />

<!-- The color used by everything else -->
<item android:color="@color/colorLightPurple" />
</selector>
你的风格是:
<style name="CalenderViewDateCustomText" parent="android:TextAppearance.Holo.Small">
<item name="android:textColor">@color/selectorDateTextColor</item>
<item name="android:weekNumberColor">@color/colorLightPurple</item>
</style>
您还可以添加更多状态,例如 android:state_activated="true"更改用户选择的日期的文本颜色。
如果你想改变所选日期周围圆圈的颜色,你应该添加 <item name="colorControlActivated">@color/blue</item>到您的 CalendarView 使用的主题.

关于java - 禁用日期的不同颜色 CalendarView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63439022/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com