Android - 是否可以专门为每个ListPreference条目更改属性?

时间:2011-07-02 23:00:08

标签: android xml

我的代码中定义了一个普通的Android ListPreference -

<ListPreference
        android:title="Font"
        android:summary="Choose the font of the reader"
        android:key="fontList"
        android:entries="@array/fonts"
        android:entryValues="@array/fontValues">

    </ListPreference>

它给出了一些用户可以选择的几种不同字体类型的列表,没什么特别的。我想知道的是,有没有办法将每个列表项的字体设置为它显示的字体?这将是一个很好的功能,因为它允许用户在测试之前看到他们必须选择的内容。

我看不到任何明显的方法,或者至少是一种不会破坏漂亮的默认UI的方式。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

最好的方法是扩展ListPreference类并实现自己的首选项。从内存中我认为你需要覆盖onCreateDialogView,onBindDialogView,onSetInitialValue和onDialogClosed方法。最佳观看地点是the List Preference page on developer.android.com

答案 1 :(得分:0)

就像他说的字体一样,你需要自定义字体。但是我发现有很多不同的默认android:theme =“@ android:style / Theme .....” 尝试一次可用的...有9-10个。 也许你会更接近扩展你自己的自定义用户界面所需要的东西。