#android #xml #material-design
#Android #xml #материал-дизайн
Вопрос:
Я хочу изменить цвет текста, используя пользовательский стиль для моих предпочтений TimePicker, но, похоже, я не могу переопределить тему по умолчанию.
Вот мой файл ресурсов темы:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Posture" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/purple_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name="android:colorBackground">@color/purple_500</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColorSecondary">@color/grey_dark</item>
</style>
Я использую PreferenceDialogFragmentCompat и DialogPreference для создания пользовательского параметра выбора времени.
Вот макет, который я раздуваю в диалоговом окне:
<?xml version="1.0" encoding="utf-8"?>
<TimePicker
style="@style/TimePickerStyle"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/timePicker"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Я попытался создать стиль, но когда я использую его в timepicker, он не применяется.
<style name="TimePickerStyle">
<item name="android:textColor">@color/blue</item>
<item name="android:textColorPrimary">@color/blue</item>
<item name="android:textColorSecondary">@color/blue</item>
</style>
Как я могу это решить?
Ответ №1:
Попробуйте:
<?xml version="1.0" encoding="utf-8"?>
<TimePicker
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/timePicker"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/TimePickerStyle"/>
и стиль:
<style name="TimePickerStyle">
<item name="android:numbersTextColor">@color/blue</item>
<item name="android:numbersSelectorColor">@color/blue</item>
<item name="android:numbersBackgroundColor">@color/blue</item>
</style>
Комментарии:
1. извините, я забыл упомянуть, что я пробовал это, но это ничего не дает, я также попробовал android: theme и в предварительном просмотре это работает, но затем, когда я запускаю приложение, оно не меняется