与编码偏好设置屏幕

问题描述:

问题我有一个很大的问题与此代码:与编码偏好设置屏幕

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及更高版本,它工作得很好。这个问题也出现在一些设备上。不幸的是,除了离开主题像黑暗之外,还没有解决方案。