如果你使用过设置界面,你会很清楚这个主题讲的是什么内容,当你在点击一个设置项之后,跳到另外一个子设置项,你会发现,你看不到任何东西,因为背景是黑色的,所以本文内容讲解的就是这个问题的解决办法,先看运行实例的截图:

当点击“其他个人信息”设置后,会跳转到另外一个界面,如图所示:

屏幕的背景变成白色,一下是解决办法的源代码:
/*
* 在Preference中设置使用Theme.Light主题,则打开Preference为白色主题,
* 当Preference中内嵌有其他PreferenceScreen的时候,
* 打开内嵌的PreferenceScreen则屏幕背景为黑色的.
* 下面的这个方法实现的是:
* 在打开内嵌PreferenceScreen的时候设置其背景色.
*/
PreferenceScreen s= (PreferenceScreen) findPreference("other_individual_msg");
s.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
PreferenceScreen a = (PreferenceScreen) preference;
a.getDialog().getWindow().
setBackgroundDrawableResource(android.R.drawable.screen_background_light);
return false;
}
});
本文解决了一个在Android应用中使用Preference设置界面时遇到的常见问题,即点击某个设置项后跳转到子设置项时背景变黑。通过设置Theme.Light主题,可以在打开内嵌的PreferenceScreen时自定义背景颜色,实现界面的美观与一致性。
909

被折叠的 条评论
为什么被折叠?



