Это мой actuall style.xml моего приложения:Android: Изменение темы приложения динамически
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:alertDialogTheme">@style/customDialog</item>
<item name="android:actionBarStyle">@style/customActionBar</item>
</style>
<style name="LoginStyle" parent="AppTheme.Base">
<item name="colorPrimaryDark">@color/Material_Blue</item>
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">#FFFFFF</item>
<item name="colorControlHighlight">#FFFFFF</item>
</style>
<style name="MainStyle" parent="AppTheme.Base">
<item name="android:actionBarTheme">@style/customActionBar</item>
<item name="android:colorAccent">@color/md_material_blue_600</item>
<item name="colorPrimaryDark">@color/Material_Blue</item>
<item name="colorControlNormal">@color/md_material_blue_600</item>
<item name="colorControlActivated">@color/md_material_blue_600</item>
<item name="colorControlHighlight">@color/md_material_blue_600</item>
</style>
<style name="customDialog">
<item name="android:windowIsFloating">true</item>
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
<item name="colorControlActivated">@color/md_material_blue_600</item>
<item name="android:colorControlHighlight">@color/md_material_blue_600</item>
<item name="android:button">@color/md_material_blue_600</item>
</style>
<style name="customActionBar">
<item name="android:background">@color/Material_Blue</item>
</style>
Как вы можете видеть, что мое приложение имеет некоторые различные темы, но теперь некоторые пользователи попросили меня реализовать функцию, которая может переключить «легкую тему» на «темную тему». Теперь, если я изменю родительскую тему AppTheme.Base
на Theme.AppCompat
, все приложение получит «темную тему».
Итак, есть ли способ изменить родительскую тему базовой темы? Или что мне нужно сделать, чтобы получить мой результат?
Я читал об этом: https://stackoverflow.com/a/18301723/5327202, я реализовал эти классы, но меняет цвет текста только на белый и ничего больше. (Конечно, я создал другой стиль в xml, по существу, у меня есть копия - отпечатал оригинальную тему, а затем изменил родителя AppTheme.Base
на Theme.AppCompat
)
Спасибо.
Хорошо, теперь он работает. Большое спасибо. – CallMeDeftsu4