我正试图在Android中将datepicker颜色更改为白色。我在styles.xml中尝试使用colorPrimary而没有运气:
<style name="AppTheme" parent="AppThemeBase">
<item name="android:datePickerStyle">@style/SpinnerDatePicker</item>
</style>
<style name="SpinnerDatePicker" parent="android:Widget.Material.Light.DatePicker">
<item name="colorPrimary">#FFF</item>
<item name="android:datePickerMode">spinner</item>
</style>
另外,有没有办法在组件中使用一种颜色而在另一种颜色中使用另一种颜色,或者我是否必须在整个应用程序中使用一种颜色?
您无法动态更改DatePicker的颜色...至少它不是一项简单的工作。问题是,即使在原生Android中,通过代码隐藏改变颜色也只能通过Reflection API实现(有关详细信息,请参阅here)。
要更改DatePicker的文本颜色,需要注意一件重要的事情 - 您应该在主应用主题中直接应用android:textColorPrimary
(有关详细信息,请参阅注释here)
例如:values-v21 / style.xml
<style name="AppTheme" parent="AppThemeBase">
<item name="android:textColorPrimary">@color/ns_green</item> <!-- HERE -->
<item name="android:datePickerStyle">@style/SpinnerDatePicker</item>
<item name="android:timePickerStyle">@style/SpinnerTimePicker</item>
</style>
在上面的例子中,ns_green
在colors.xml
中定义
<color name="ns_green">#1eb234</color>