我在 theme.xml 文件中定义了全局样式。这包括项目 <item name="colorControlActivated">@color/white</item>
.
我有一个 DatePicker,它的选定日期背景使用此样式项,因此在白色背景上是白色的。因此,所选日期是不可见的。
这是日期选择器:
<DatePicker
android:id="@+id/DatePicker"
style="@style/date_picker_theme"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:calendarViewShown="false"
android:descendantFocusability="blocksDescendants"
android:endYear="2100"
android:startYear="1900" />
我试图覆盖 colorControlActivated
像这样的样式(在 styles.xml 中):
<style name="date_picker_theme">
<item name="colorControlActivated">@color/green</item>
</style>
但这根本没有反射(reflect)出来。
如果我将 theme.xml 样式项更改为 <item name="colorControlActivated">@color/green</item>
那么它反射(reflect)良好,但可能会改变整个应用程序的一些其他样式。
问题:如何只为我的 DatePicker 覆盖它?
现在的样子:
它应该是什么样子:
最佳答案
而不是将其设置为
style="@style/date_picker_theme"
设置为
android:theme="@style/date_picker_theme"
下面是完整的日期选择器 View
<DatePicker
android:id="@+id/DatePicker"
android:theme="@style/date_picker_theme"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:calendarViewShown="false"
android:descendantFocusability="blocksDescendants"
android:endYear="2100"
android:startYear="1900" />
关于Android - 覆盖 theme.xml 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486105/