1
我無法正確顯示10英寸設備中的首選項以lanscape方向正確顯示。 它顯示類別標題和複選框真的很奇怪。看到附加的圖像來獲得想法。 10英寸設備在橫向模式下的優先性
偏好設置-XML(僅類別,原因字段在代碼加入後):
<?xml version="1.0" encoding="utf-8"?>
<PreferenceCategory
android:key="settingsCategory"
android:title="@string/mobile_global_settings" >
</PreferenceCategory>
在SettingsActivity我添加PreferenceFragment這樣的:
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.Theme_Tp_actionbar_style);
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
我PreferenceFragment看起來像這樣(我必須使用不同settings_keys爲不同的用戶登錄到應用程序):
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
TPSettingsActivity act = (TPSettingsActivity)getActivity();
String userName = "xxx";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
PreferenceCategory targetCategory = (PreferenceCategory)findPreference("settingsCategory");
CheckBoxPreference checkBoxPreference = new CheckBoxPreference(getActivity());
checkBoxPreference.setKey(userName + "_autoclear");
checkBoxPreference.setChecked(true);
checkBoxPreference.setSummary(R.string.mobile_settings_onoff);
checkBoxPreference.setTitle(R.string.mobile_settings_autoclean);
checkBoxPreference.setChecked(prefs.getBoolean(userName + "_autoclear", false));
targetCategory.addPreference(checkBoxPreference);
TPListPreference listPref = new TPListPreference(getActivity());
listPref.setKey(userName + "_autoclearperiod");
listPref.setEntries(R.array.autoclearOptions);
listPref.setEntryValues(R.array.autoclearValues);
listPref.setSummary(R.string.mobile_settings_currentinterval);
listPref.setTitle(R.string.mobile_settings_interval);
listPref.setValue(prefs.getString(userName + "_autoclearperiod", "7"));
targetCategory.addPreference(listPref);
}
}
使用不應用特定主題時,也會出現這種情況。我現在用的主題是發電機使用在Android資產工作室網站上列出的ThemeGenerator: Android Asset Studio
你能發佈你的xml嗎? – Canberk
同意。沒有任何代碼,這是不可能的,以幫助你。 – CommonsWare
嗯,你做錯了:)如果你使用eclipse,去「文件>新建>其他> Android對象>設置活動」,你會得到一個很好的例子。也許在一個新的項目中,因爲它會放置很多文件。 – zapl