使用AppCompat主题我遇到了问题。我有这段代码:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light"></style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/white</item>
</style>
<style name="MyActionBarTabText" parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@android:color/white</item>
</style>
<style name="AppTheme.Light" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="actionMenuTextColor">@android:color/white</item>
<item name="actionOverflowButtonStyle">@style/MyActionBarOverflowButton</item>
</style>
<style name="MyActionBarOverflowButton" parent="@style/Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_overflow</item>
</style>
我想根据用户选择更改主题。默认情况下,主题是'AppTheme',用户可以选择的主题是'AppTheme.Light'。
现在奇怪的是。如果我在清单中设置'AppTheme.Light'
android:theme =“@ style / AppTheme.Light”&gt;
标题文字颜色按预期更改为白色,但如果我以编程方式设置主题
ctx.setTheme(R.style.AppTheme_Light);
一切都改变了,包括溢出按钮,但标题文字颜色没有。为什么会这样?
如何通过以编程方式设置主题来更改标题文字颜色?
非常感谢你!