我对在偏好活动中设置背景颜色感到困惑。我的settingsactivity没有附加任何layout.xml,因此生成了来自headers.xml和preferences.xml的所有内容。我在我的settingsactivity类的onCreate方法中使用了this回答。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
this.getWindow().getDecorView().setBackgroundColor(0xFF111321);
}
使用此功能,我可以看到preferences中的更改(对不起颜色),但我的headers标题保持不变。要更改标题的背景,我必须写:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
this.getWindow().getDecorView().setBackgroundColor(0xFF111321);
listView = getListView();
listView.setBackgroundColor(0xFF111321);
}
此外,如果我不使用getWindow()
,则会发生相反的情况。
为什么会这样? 我讨厌为相同的功能编写重复的代码,有没有办法用一个代码来完成需求。
N.B。 getWindow()
也适用于我的其他活动。