Android:如何更改DatePicker元素中选定日期的颜色?
问题描述:
我是新来的android编程,我想在我的布局中使用DatePicker
元素。我能够成功地使用它,但我无法弄清楚如何改变其选择的日期颜色。我在这个网站上阅读过很多主题,他们谈论了改变颜色DatePickerDialog
。我试图按照类似的方法处理DatePicker
元素,但无法做到。我可以使用calendarTextColor
属性更改日期的textColor
。我对布局文件的代码如下:Android:如何更改DatePicker元素中选定日期的颜色?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<DatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/datePicker"
android:datePickerMode="calendar"
android:spinnersShown="false"
android:layout_gravity="center"
android:layout_marginTop="-52dp"
android:layout_marginBottom="-20dp"
style="@style/MyDatePickerStyleTheme"
/>
</LinearLayout>
这里是对应的代码styles.xml:我想补充
<style name="MyDatePickerStyleTheme" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="colorAccent"> #00ff00 </item>
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorPrimary"> #00ff00 </item>
<item name="android:colorPrimaryDark"> #00ff00 </item>
<item name="android:colorAccent"> #00ff00 </item>
<item name="android:backgroundTint"> #00ff00 </item>
<!-- <item name="android:calendarTextColor"> #00ff00 </item> -->
</style>
<style name="MyDatePickerStyle">
<item name="android:calendarTextColor"> #00ff00 </item>
</style>
一些加分:
-
android:calendarTextColor
属性正在工作,如果我把它放在MyDatePickerStyleTheme
里面,但是在放入MydatePickerStyle
时不工作。
换句话说,后面的主题风格没有任何影响。 - 在不同的Android版本(棒棒糖和棉花糖),相同的代码给出了非常不同的外观布局。
- 我只是想改变选定的日期颜色,但如何以良好的方式更改日期和其他样式之间的间距。
任何帮助将不胜感激。
答
<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<!-- this is new -->
<item name="colorAccent">@color/accent</item>
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorAccent">@color/primDark</item>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/prim</item>
<item name="android:calendarTextColor">@color/primDark</item>
<item name="android:dayOfWeekBackground">@color/primDark</item>
<item name="android:yearListSelectorColor">@color/accent</item>
<item name="android:datePickerMode">calendar</item>
<item name="android:minDate">01/01/2000</item>
答
请进行下面的链接它的工作对我来说完全没有问题...... [更改日期选取器的主题颜色]
+0
我不想使用DatePickerDialog。对于DatePicker,类似的风格不起作用。 – user3800670
我尝试了你的建议,但它没有奏效。而且我之前也有colorAccent属性。 – user3800670