2011-12-20 70 views
0

我有两个不同的布局。该应用程序是从第一个开始,但我希望用户将其更改为两个我的第二个布局,如果他喜欢它,我该怎么办?谢谢从首选项更改布局

回答

0

有几种方法,更容易的可能是创建一个布尔首选项(如果你想处理两个以上的布局,则为整数),如果它设置为true,那么你加载一个特定的布局,如果没有,你加载另外一个:

if (prefs.getBoolean("firstLayout", true)) 
    setContentView(R.layout.first); 
else 
    setContentView(R.layout.second); 
1

使用此相反,只是从你的SharedPreferences拉PREF

if (pref == 1){ 
setContentView(layout1) 
} else{ 
setContentView(layout2) 
} 

或者你可以把一个布尔提到

0

只要保持在SharedPreferences.Let的值,它是userSelected.If用户选择布局然后把使用者所选择的是真正的SharedPreferences。

现在,在setContentView或Layout的inflayout之前检查SharedPreference的值。如果它的值为true,则使用set(setContentView或layoutInFlayout),否则使用默认值。

你明白了吗?

if (userSelected == true){ 
    setContentView(R.layout.a) 
} else{ 
setContentView(R.layout.b) 
}