這是我的我的應用程序的實際工作style.xml:安卓:更改應用主題動態
<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