我正在为datePicker创建自定义主题,而且我在设置headerBackground和选定日期周围的圆圈时遇到了一些困难。我把我的主题设置得像这样:
<style name="State0DatePickerTheme" parent="AppTheme">
<item name="colorAccent">@color/state0Dark</item>
<item name="android:headerBackground">@color/state0Primary</item>
</style>
App主题看起来像这样:
<style name="AppTheme" parent="State0BaseTheme">
<item name="colorPrimary">@color/state0Primary</item>
<item name="colorPrimaryDark">@color/state0Dark</item>
<item name="android:statusBarColor">@color/state0Primary</item>
<item name="android:colorControlNormal">@color/colorAccent</item>
<item name="android:background">@color/state0Primary</item>
<item name="android:textColorPrimary">@color/colorAccent</item>
</style>
最后但并非最不重要的是,State0BaseTheme看起来像这样:
<style name="State0BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/state0Primary</item>
<item name="colorPrimaryDark">@color/state0Dark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/state0Primary</item>
<item name="android:colorControlNormal">@color/colorAccent</item>
<item name="android:background">@color/state0Primary</item>
<item name="android:textColorPrimary">@color/colorAccent</item>
</style>
我曾经想过重写colorAccent,并且设置headerBackground会很好用,但我想不是吗?以下是所有这些样式的样子:
如果我在datePicker的xml中设置android:headerBackground,一切都很好。但是,我希望能够根据用户输入更改应用程序的所有屏幕的主题。关于为什么这不起作用的想法?
答案 0 :(得分:0)
我阅读了@DasserBasyouni发布的链接,发现在@android:style/Widget.Material.Light.DatePicker
中制作我的datePickerTheme android:datePickerStyle
的父级并将@style/State0DatePickerTheme
设置为State0BaseTheme
效果很好