自定义首选项中的android偏好水平分隔符?

时间:2011-03-30 04:37:31

标签: android line gradient preference

我已经创建了自己的自定义首选项对象,可以扩展Preference。我只创建了它们,因为这些自定义数据类型没有首选项。

一切正常,但我的自定义首选项没有相同的外观,因为它们缺少系统首选项对象具有的水平分隔符。我已经找到了创建水平分隔符的代码,但我找不到它的位置。

内置分隔器不仅仅是一个细条。它有一点渐变。我认为这可能在布局文件中,但我找不到系统首选项的布局。

有人知道这是如何实现的吗?

1 个答案:

答案 0 :(得分:3)

非常古老的帖子,但对那些偶然发现的人来说。不确定OP是否询问如何更改分频器或分频器图像来自何处。所以我会解决这两个问题。

如何
Preferences使用ListView填充所有个人偏好。这意味着您可以使用.setDivider()中的ListView方法更改分隔符。 PreferenceActivity已经有getListView()方法。但是对于PreferenceFragments,只需使用android.R.id.list ID即可找到它。

如果您不想通过代码更改分隔符,则可以通过覆盖listDivider属性来始终使用主题。例如:

<item name="android:listDivider">@drawable/custom_divider</item>

注意,这会更改应用中每个ListView的分隔符。

<强>其中
listDivider drawable使用取决于Android主题的激活。您可以在此位置的已安装的Android SDK中找到所有这些图像:
[Android SDK] / platforms / [API] / data / res / drawable- [DPI] /

只需搜索`* divider_horizo​​ntal *',你会发现很多。它们是9个修补的,并非所有颜色都是纯色。