与编码偏好设置屏幕
问题描述:
问题我有一个很大的问题与此代码:与编码偏好设置屏幕
public class Preferences extends PreferenceActivity {
private LinearLayout rootView;
private LinearLayout titleView;
private ListView preferenceView;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
rootView = new LinearLayout(this);
rootView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
rootView.setOrientation(LinearLayout.VERTICAL);
textView = new TextView(this);
textView.setText(R.string.tx_einstellungen);
textView.setTextColor(Color.WHITE);
textView.setTextSize(20);
titleView = new LinearLayout(this);
titleView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 45));
titleView.setBackgroundResource(R.color.background);
titleView.addView(textView);
titleView.setGravity(Gravity.CENTER);
preferenceView = new ListView(this);
preferenceView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
preferenceView.setId(android.R.id.list);
PreferenceScreen screen = createPreferenceHierarchy();
screen.bind(preferenceView);
preferenceView.setAdapter(screen.getRootAdapter());
rootView.addView(titleView);
rootView.addView(preferenceView);
this.setContentView(rootView);
setPreferenceScreen(screen);
}
private PreferenceScreen createPreferenceHierarchy() {
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
PreferenceScreen lang_screen = getPreferenceManager().createPreferenceScreen(this);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
// Screen preference
lang_screen.setKey("language_pref");
lang_screen.setTitle("Sprache");
lang_screen.bind(preferenceView);
root.addPreference(lang_screen);
// Example of next screen toggle preference
CheckBoxPreference nextScreenCheckBoxPref = new CheckBoxPreference(this);
nextScreenCheckBoxPref.setKey("next_screen_toggle_preference");
nextScreenCheckBoxPref.setTitle("");
nextScreenCheckBoxPref.setSummary("");
lang_screen.addPreference(nextScreenCheckBoxPref);
return root;
}
第一PreferenceScreen是一个漂亮的白色屏幕上的顶部和线蓝线,我们有文字“Einstellungen”英语中的“首选项”颜色为白色。
但是,当我点击“Sprache”时,下一个预设屏幕是黑色的,并且有一个android Titlebar ....我想创建更多的“prefscreens”,并且它们都必须是白色,最佳。
PLEASE HELP
Thankx亚历
答
这是Android的2.1u1已知错误。
如果您使用多级别首选项屏幕,Light主题不会传播到下一级屏幕。对于更高版本的SDK 2.2及更高版本,它工作得很好。这个问题也出现在一些设备上。不幸的是,除了离开主题像黑暗之外,还没有解决方案。