我能够在工作中实现这一点,我现在头脑中不记得我是如何实现它的,很久以前。但是,如果没有人为您提供一个好的答案,我会在明天发布,但我记得将一个偏好设置为按钮,然后添加一个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