Подтвердить что ты не робот

Как изменить цвет по умолчанию диалогового окна DatePicker и TimePicker в Android?

Можно ли изменить цвет по умолчанию в диалоговом окне DatePicker и TimePicker?

Это код, который я пробовал

<DatePicker
                    style="@style/date_picker"
                    android:background="#6495ED"
                    android:id="@+id/DatePicker"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:layout_marginBottom="5dp"
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip" />

<TimePicker
                    android:id="@+id/TimePicker"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:layout_marginBottom="5dp"
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip" />

Ниже двух строк, только меняющих цвет фона, я хочу изменить серебристый цвет по умолчанию как даты, так и времени.
Любая помощь пожалуйста.

style="@style/date_picker"
android:background="#6495ED"
4b9b3361

Ответ 1

Лучший способ изменить диалог выбора - это добавить к нему свой стиль.

<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">@color/color_primary</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
</style>

TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false);

Работала отлично для меня.

Ответ 2

Вам нужно создать собственную тему и сохранить ее в некоторых каталогах, чтобы окончательно установить эту тему как стандартную для приложения

Во-первых, в значениях добавить theme.xml вот так:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>
</resources> 

Затем создайте каталог с именем "values-v11" (Android 3.0+) в каталоге res и поместите theme.xml, как этот

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
        <!-- Any customizations for your app running on 3.0+ devices here -->
    </style>
</resources>

Наконец, создайте каталог с именем "values-v14" (Android 4.0+) в каталоге res и создайте theme.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
        <!-- Any customizations for your app running on 4.0+ devices here -->
    </style>
</resources>

Наконец, в вашем manifest.xml

<application
        ...
        android:theme="@style/MyAppTheme">

Ответ 3

Я думаю, что нет никакого способа легко изменить серый цвет старых виджетов виджетов в XML.

Я предлагаю вам использовать библиотеку HoloEverywhere, чтобы DatePicker и TimePicker выглядели действительно красиво на всех платформах Android 2.1 +.

Ответ 4

вы можете изменить тему своего выбора даты, изменив тему следующим образом.

измените элементы в соответствии с вами.

<style name="date_picker" parent="@android:style/Widget.DeviceDefault.DatePicker">
<item name="android:divider">@drawable/dialog_divider</item>

замените предметы в соответствии с вами. и установите эту тему в свой стиль сбора данных

style="@style/date_picker"

Ответ 5

Для выбора даты добавьте эти коды в color.xml

  <color name="mdtp_accent_color">#070B82</color>
  <color name="mdtp_accent_color_dark">#0D105E</color>

Для обоих вы можете определить стиль в style.xml

 <style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/blue</item>
</style>

и установить стиль в XML:

 android:theme="@style/MyAppTheme"

или программно:

TimePickerDialog timePicker = new TimePickerDialog (mContext, R.style.TimePickerTheme, fromListener, час, мин, ложь);