Я хочу реализовать ночной режим для своего приложения для Android, поэтому я использовал тему Theme.AppCompat.DayNight для реализации ночного режима. Но мне нужно настроить цвет панели инструментов и вида рециркулятора во время ночного режима.
Для этого я объявил атрибут в файле attrs.xml и использую этот атрибут в качестве фона в представлении реселлера.
Вот файл attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ds">
<attr name="rv_color" format="color"/>
</declare-styleable>
</resources>
Вот обзор переработчика
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/rv_color"
android:overScrollMode="never"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
Теперь для стилей я объявил styles.xml и styles.xml (night) для ночного режима.
Вот файл styles.xml
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<!-- Customize your theme here. -->
<item name="colorPrimary">@android:color/white</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorPrimary">@color/colorPrimary</item>
<item name="android:windowDisablePreview">false</item>
<item name="rv_color">#FF0000</item>
</style>
Вот этот файл styles.xml (ночь)
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<!-- Customize your theme here. -->
<item name="colorPrimary">@android:color/white</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorPrimary">@color/colorPrimary</item>
<item name="android:windowDisablePreview">false</item>
<item name="rv_color">#FFFF00</item>
</style>
В файле styles.xmlЯ определил КРАСНЫЙ цвет для фона повторного просмотра и ЖЕЛТЫЙ цвет в файле ночного режима.
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
Приведенная выше строка присутствует в файле Activity для режима Night.
Но каждый раз, когда цвет представления рециркулятора становится КРАСНЫМ, т.е. из файла styles.xml
Почему цвет styles.xml (night) не применяется к виду рециркулятора.
Почему он не работает? или любой другой способ сделать это?