我正在以编程方式向我的PreferenceScreen实例添加首选项(我将其添加到我的PreferenceActivity中)。一切都按预期工作,除了文本颜色,尽管尝试了总是白色:
我正在做的一切:
PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this);
PreferenceCategory category = new PreferenceCategory(this);
category.setTitle("Hello");
screen.addPreference(category);
CheckBoxPreference testPreference = new CheckBoxPreference(getApplicationContext());
testPreference.setTitle("Test");
category.addPreference(testPreference);
setPreferenceScreen(screen);
我已将主题设置为ThemeOverlay.AppCompat.Dark
(我不想要)并且文字清晰可辨,但这是其他任何情况下的样子(我正在点击它以便您可以看到通过动画效果的文字):
如何将此文字设为黑色?
谢谢!
答案 0 :(得分:0)
简单修复,实际上:
我在getApplicationContext()
中调用了CheckBoxPreference testPreference = new CheckBoxPreference(getApplicationContext());
,不建议用于对视图进行充气,因为它几乎总是会传递错误的主题。
因此,我将getApplicationContext()
更改为this
,并将文本颜色加载为主题中描述的颜色。