Как установить цвета для диалогового окна выбора даты в Xamarin?

#xamarin #datepicker #xamarin.android #xamarin.forms

#xamarin #выбор даты #xamarin.android #xamarin.forms

Вопрос:

Я пытаюсь выяснить, как изменить цвета фона и текста в диалоговом окне, которое отображается при нажатии кнопки выбора даты или времени. Это в проекте Xamarin forms, в частности в приложении для Android. Эти свойства нигде не отображаются в элементе управления выбором даты или в средстве визуализации, которое я могу найти … в настоящее время он отображается как этот ярко-розовый … спасибо!

Ответ №1:

Добавьте элемент: «android: datePickerDialogTheme» в свой style.xml

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

<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorAccent">#2196F3</item>
    </style>
  

Завершить 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>
  

Комментарии:

1. Спасибо за ответ! Рассматривая это подробнее, я определяю стили как для ios, так и для Android в моем файле app.xaml, а затем в элементе управления xamarin forms я определяю стиль как стиль, который я хочу от стиля app.xaml. Просто поместите приведенный выше XML в мой style.xml файл не изменил цвета, есть ли способ, которым я могу использовать как файл app.xaml, так и style.xml ? Как мне сообщить элементу управления использовать соответствующий стиль?