我能夠在工作中實現這一點,我現在頭腦中不記得我是如何實現它的,很久以前。但是,如果沒有人爲您提供一個好的答案,我會在明天發佈,但我記得將一個偏好設置爲按鈕,然後添加一個preferenceClickListener以便在點擊時打開一個新的偏好設置屏幕。但是就像我說的,如果你沒有得到滿意的答案,明天我會爲你發佈。
祝你好運!
UPDATE:
?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Personal"
android:key="personal_category">
<Preference
android:key="birth"
android:title="Birth"
android:summary="Choose your birthday"/>
<PreferenceScreen
android:key="height_imp"
android:title="Height"
android:summary="Enter your height">
<EditTextPreference
android:key="foot"
android:title="Foot"
android:summary="foot"
android:numeric="integer"
android:dialogTitle="Foot"/>
<EditTextPreference
android:key="inch"
android:title="Inch"
android:summary="inch"
android:numeric="integer"
android:dialogTitle="Inch"/>
</PreferenceScreen>
<EditTextPreference
android:key="weight"
android:title="Weight"
android:summary="Enter your weight"
android:numeric="integer"
android:dialogTitle="Weight"/>
</PreferenceCategory>
</PreferenceScreen>
這就是它!當你點擊它時,它會帶你到第二個PreferenceScreen等等,最後當你需要定製你的佈局時,你需要打開一個活動。 然後,您可以使用偏好並添加onPreferenceClick:
@Override
public boolean onPreferenceClick(Preference preference) {
if(preference == birth){
startActivity(new Intent(getBaseContext(), Birth.class));
}
if(preference == height_imp){
PreferenceScreen a = (PreferenceScreen) preference;
a.getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
return false;
}
return true;
}
如果您需要更改背景或別的東西與preferenceScreen,然後添加一個preferenceClickListener還有:height_imp = (PreferenceScreen)getPreferenceScreen().findPreference("height_imp"); height_imp.setOnPreferenceClickListener(this);
一旦你感覺到了這一點,你也應該看看片段,它們在較早版本的操作系統中通過支持庫支持,例如2.3可以使用單個活動模型,但也可以利用片段3.0+現在不要混淆視聽:-)但是當它開始凝膠時,看看它吧 – Idistic 2012-04-26 00:00:08
按照我承諾的做了編輯! – Carnal 2012-04-27 07:14:36
@Carnal:謝謝你的例子! – enzom83 2012-04-27 08:47:41