如何在Xamarin中为DatePicker对话框设置颜色?

Art*_*510 3 datepicker xamarin.android xamarin xamarin.forms

我正在试图弄清楚如何更改对话框的背景和文本颜色,当您点击日期或时间选择器时显示该对话框.这是一个Xamarin表单项目,特别是Android应用程序.这些属性不会暴露在DatePicker控件或我可以找到的渲染器中的任何位置......目前它显示为这个明亮的粉红色......谢谢!

Puc*_*ric 6

在style.xml中添加项目:"android:datePickerDialogTheme"

<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>

<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorAccent">#2196F3</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

完整的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>
</resources>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢回复!再看一下,我在app.xaml文件中为ios和android定义样式,然后在xamarin表单控件上我将样式定义为我想要的app.xaml样式.将上面的xml放到我的style.xml文件中并没有改变颜色,有没有办法可以同时使用app.xaml文件和style.xml?如何告诉控件使用合适的样式? (2认同)