Пользовательская тема TimePickerDialog - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу создать собственную тему timepickerdialog в android. Тема по умолчанию выглядит так: Default theme that I already have

Я хочу создать другую тему. Я хочу изменить цвет головы, цвет выделенного текста в голове и невыбранный, цвет этой ручки на часах и цвет текста кнопки. 24-часовой формат выбирается устройством, поэтому это не имеет значения. Я хочу тему как это Theme that I want to have

Для создания диалога я использую TimePickerDialog (контекст, тема, ontimesetlistener, часы, минуты, 24формат) и вставляю мою тему в конструктор

Если вы знаете, как это сделать, пожалуйста, дайте мне знать. Я видел много ответов на этот вопрос, но никто не знает, как изменить фон Timepicker, цвет большого текста в голове и цвет фона раунда с числами. Но в целом, Я хочу изменить цвета: фон головы, выбранный и невыбранный текст головы, наклейка на часы, текст кнопки

ОБНОВЛЕНИЕ:

Как мне сказали, я не могу сделать это без использования диалога. Но в любом случае, я не знаю, как это сделать, даже с диалогом. Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 12 апреля 2020

Итак, как я уже говорил только для использования Timepicker в макете, здесь xml, чтобы следовать и изменить цвет в соответствии с вашим дизайном

<TimePicker
    android:id="@+id/timePicker"
    android:theme="@style/AppTheme2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp"
    android:layout_marginEnd="30dp"
    android:layout_marginStart="30dp"
    android:headerBackground="@color/white"
    android:amPmTextColor="@color/material_red_500"
    android:headerAmPmTextAppearance="@color/material_red_400"
    android:headerTimeTextAppearance="@color/material_red_400"
    android:numbersInnerTextColor="@color/disabled"
    android:numbersSelectorColor="@color/material_red_400"
    android:numbersTextColor="@color/disabled"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

, если вы добавите android:numbersBackgroundColor="@color/white" to TimePicker widget Circle background will be in white color.

In В разделе темы добавьте следующие значения:

<style name="AppTheme2" parent="Theme.AppCompat.Light">

    <item name="colorPrimary">@color/white</item>
    <item name="colorPrimaryDark">@color/red</item>
    <item name="colorAccent">@color/primay600</item>

    <item name="android:textColor">@color/red</item>

</style>

Попробуйте поэкспериментировать со значениями, которые приведут к результатам.

...