Приложение использует AppCompatDelegate для управления отображением в светлом или темном режиме.
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
or
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
Все представления показывают правильный фон, а текстовые представления показывают правильный цвет текста, определенный либо в обычном цветовом ресурсе, либо в ресурсе color-night, в зависимости от текущего режима автоматически. например:
<TextView
android:textColor="@color/the_text_color"
/>
and in res/values/color.xml
<color name="the_text_color">#828c93</color>
and in res/values-night/color.xml
<color name="the_text_color">#bbbbbb</color>
Но есть некоторый случай, например, в recyclerView в определенной позиции, он должен показать этот элемент списка в режиме независимо от текущего режима приложения night_mode_yes
или night_mode_no
.
то есть приложение в настоящее время находится в night_mode_no
, в позиции списка 3 ему нужно, чтобы этот элемент отображался в nigh_mode_yes
.
есть ли способ сделать что-то вроде:
if (position==3)
viewHolder.itemView.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
else
viewHolder.itemView.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
, чтобы управлять режимом просмотра на индивидуальном уровне просмотра, не затрагивая остальную часть приложения?