Я изучил MDC из Google Code Lab , и это хорошо разработанное приложение, которое знает, как работает дизайн материала.Однако в отдельном разделе они показали, как использовать темную тему.Сделал это, изменив атрибуты темы с style.xml
.Будучи изобретательным, я пытался научиться использовать несколько тем и обмениваться ими во время выполнения.
По этой причине я избегал их жестко запрограммированного способа и пытался унаследовать базовую тему и вносить изменения в соответствии с моими потребностями.Ниже я помещаю некоторые изменения в файл темы
<!--Dark Theme style !-->
<style name="Theme.Shrine.Dark" parent="Theme.Shrine">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/darkColorPrimaryDark</item>
<item name="colorPrimaryDark">@color/darkColorPrimaryDark</item>
<item name="colorAccent">@color/darkColorAccent</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
<item name="android:textColorPrimary">@color/darkTextColorPrimary</item>
<item name="colorControlActivated">@color/darkColorControlActivated</item>
<item name="toolBarStyle">@style/Widget.Shrine.Toolbar.Dark</item>
<item name="appBackGroundColor">@color/darkBackgroundColor</item>
</style>
Есть некоторые изменения, но они не имеют отношения к моей проблеме, поэтому я не собираюсь добавлять их здесь.В любом случае, с изменениями в моем стиле файл приложения выглядит примерно так:
Ожидается все, кроме цвета значка на панели инструментов.Поэтому я проверяю код и обнаруживаю, что на каждый цвет значков ссылаются из соответствующих им из рисуемого файла с android:tint="@color/toolbarIconColor"
, а в color.xml
toolbarcolor равен <color name="toolbarIconColor">@color/textColorPrimary</color>
В темном режиме он показывает неправильный цвет, в этомСлучай, как я могу показать желтый цвет в темном режиме.Я изменил textColoeSecondary из базовой темы темной темы, но он не работал