在PreferenceFragment中设置对话框的样式

时间:2015-02-25 18:35:52

标签: android android-preferences

我想更改出现在PreferenceFragment中的对话框的样式。

我的PreferenceFragment.java文件:

public class PreferencesFragment extends PreferenceFragment  {

    public PreferencesFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_preferences, container, false);

        addPreferencesFromResource(R.xml.preferences);

        return rootView;
    }
}

preferences.xml文件:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory android:title="@string/preferences_category_general_title">

        <ListPreference
            android:defaultValue="en"
            android:entries="@array/preferences_languages"
            android:entryValues="@array/preferences_languages_values"
            android:key="language"
            android:title="@string/preferences_languages_title" />

    </PreferenceCategory>

</PreferenceScreen>

我想要一个例如ListPreference看起来像这样:

DialogPreference with custom Style

目前他们有默认的Holo风格,我该如何更改? (我只想要自定义标题栏,单选按钮并不重要)

2 个答案:

答案 0 :(得分:1)

Android自行处理偏好设置。 但是,您可以扩展ListPreference并覆盖showDialog(Bundle b)方法。然后,您可以在那里显示自定义对话框。 有关示例,请参阅here

答案 1 :(得分:0)

您可以使用ListPrefrence中的onPrepareDialogBuilder方法。