更改 DatePicker [Xamarin.Forms] 的颜色
Posted
技术标签:
【中文标题】更改 DatePicker [Xamarin.Forms] 的颜色【英文标题】:change the colour of DatePicker [Xamarin.Forms] 【发布时间】:2017-06-05 07:08:33 【问题描述】:有没有办法在显示日历视图时更改 DatePicker 控件的背景颜色? 请检查随附的屏幕截图。
【问题讨论】:
【参考方案1】:将以下内容添加到您的 style.xml 文件中:
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#2196F3</item>
</style>
完整的 XML:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="MyTheme" parent="MyTheme.Base">
</style>
<!-- Base theme applied no matter what API -->
<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
<item name="windowNoTitle">true</item>
<!--We will be using the toolbar so no need to show ActionBar-->
<item name="windowActionBar">false</item>
<!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette-->
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">#2196F3</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#2196F3</item>
<!-- colorAccent is used as the default value for colorControlActivated
which is used to tint widgets -->
<item name="colorAccent">#2196F3</item>
<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight and colorSwitchThumbNormal. -->
<item name="windowActionModeOverlay">true</item>
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
</style>
<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#2196F3</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">#2196F3</item>
</style>
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
更新
对于时间选择器:
<style name="Theme.MyTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:timePickerDialogTheme">@style/TimePickerDialogTheme</item>
然后设置timePickerDialogTheme,设置timePickerStyle:
<style name="TimePickerDialogTheme" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#ff6d3024</item>
<item name="android:timePickerStyle">@style/TimePickerDialogStyle</item>
现在您可以创建 style.xml:
<style name="TimePickerDialogStyle" parent="@android:style/Widget.Material.Light.TimePicker">
<item name="colorAccent">#ff6d3024</item>
<item name="android:timePickerMode">clock</item>
<item name="android:headerBackground">#ff6d3024</item>
<item name="android:headerTimeTextAppearance">@style/TextAppearance.TimePickerDialogStyle.TimeLabel</item> <!-- TimePicker Time *TextAppearance* -->
<item name="android:numbersTextColor">#ff000000</item>
<item name="android:numbersSelectorColor">#ff6d3024</item>
<item name="android:numbersBackgroundColor">#ffdddddd</item>
【讨论】:
感谢 Svekke,它正在工作,请告诉我如何更改时间选择器的颜色,我已尝试将日期替换为时间,但无法正常工作。还有,文本框边框颜色。 这非常适合静态样式并且可以按预期工作,但我的 Xamarin.Forms 应用程序我添加了更改主题的功能。您将如何动态设置这些日期和时间选择器颜色?以上是关于更改 DatePicker [Xamarin.Forms] 的颜色的主要内容,如果未能解决你的问题,请参考以下文章
jQuery datepicker - 在初始化后更改 .ui-datepicker-calendar 的显示
在新的 DatePicker (iOS14) 中更改字体颜色