我已经创建了自己的自定义首选项对象,可以扩展Preference。我只创建了它们,因为这些自定义数据类型没有首选项。
一切正常,但我的自定义首选项没有相同的外观,因为它们缺少系统首选项对象具有的水平分隔符。我已经找到了创建水平分隔符的代码,但我找不到它的位置。
内置分隔器不仅仅是一个细条。它有一点渐变。我认为这可能在布局文件中,但我找不到系统首选项的布局。
有人知道这是如何实现的吗?
答案 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_horizontal *',你会发现很多。它们是9个修补的,并非所有颜色都是纯色。