嗨,我希望能够选择一个月中的一些日期并更改其颜色。在我的应用程序中说,我希望9月的日期3、4、8为红色,以便用户能够知道在那些特定的日期已经有一个提交。如果可能的话,这可能吗?提前致谢!
编辑。香港专业教育学院试图搜索论坛,搜索其他地方,但无法获得答案。
为了清楚起见,我不只是希望更改颜色主题,还希望更改特定日期的颜色。假设用户在9月8日提交了一些东西。我希望我的应用程序日期选择器通过更改日期选择器窗口中数字8的颜色来显示该数字。
答案 0 :(得分:1)
选中library,以显示具有不同颜色主题的日期:
添加到您的styles.xml
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorAccent">@color/beautiful_color</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/beautiful_color</item>
<item name="android:datePickerMode">calendar</item>
</style>
此外,如果要更改日期选择器的整个主题,请使用以下依赖项
dependencies {
compile 'com.wdullaer:materialdatetimepicker:3.6.3'
}
您可以使用app:mcv_dateTextAppearance(或Java setter)来执行此操作。我没有完整的解释,但是现在,您可以复制默认实现并根据需要进行修改。本质上,您需要提供android:textColor,它是具有所需颜色的颜色状态列表。
添加样式:
<style name="TextAppearance.MyCustomDay" parent="android:TextAppearance.DeviceDefault.Small">
<item name="android:textSize">12sp</item>
<item name="android:textColor">@color/my_custom_day_color</item>
</style>
并创建color / my_custom_day_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:enterFadeDuration="@android:integer/config_shortAnimTime"
android:exitFadeDuration="@android:integer/config_shortAnimTime">
<item android:state_checked="true" android:color="SELECTION_COLOR" />
<item android:state_pressed="true" android:color="SELECTION_COLOR" />
<item android:state_enabled="false" android:color="#808080" />
<item android:color="@android:color/black" />
</selector>
然后设置应用:mcv_dateTextAppearance =“ @ style / TextAppearance.MyCustomDay”