我正在使用 setTheme 更改 onCreate 中的活动主题(我什至在调用 super.onCreate() 之前就这样做了,因为这应该更可靠)。
它确实在改变背景和前景色的意义上起作用。但是,我的布局有一些使用 textAppearanceLarge 等样式的元素。现在 Android 的 textAppearanceLarge 在内部使用 textPrimaryColor - 我的主题仍然没有改变。
我试图覆盖主题中的主要文本颜色,但这似乎不起作用。
这是主题的关键部分:
<style name="Theme.MyApp.White">
<item name="android:background">@android:color/white</item>
<item name="android:textColor">#000000</item>
</style>
背景显示为白色,纯文本视图显示为黑色......但使用 textAppearanceLarge 的文本视图是白色的,因此不可见(白底白字)。
我试过这样的事情:
<item name="android:ColorPrimary">#000000</item>
<item name="android:textColorPrimary">#000000</item>
<item name="android:attr/textColorPrimary">#000000</item>
但这些都没有做任何事情。什么是魔术?