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

TAL*_*ALE 5 android gradient line preference

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

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

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

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

Jay*_*yer 3

很旧的帖子,但对于那些偶然发现这一点的人来说。不确定 OP 是否询问如何更改分隔线或分隔线图像来自哪里。所以我会解决这两个问题。

如何
Preferences使用 aListView来填充所有个人偏好。这意味着您可以使用.setDivider()中的方法更改分隔符ListView。APreferenceActivity已经getListView()为您提供了方法。然而,只需PreferenceFragments使用android.R.id.listID 即可找到它。

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

<item name="android:listDivider">@drawable/custom_divider</item>
Run Code Online (Sandbox Code Playgroud)

ListView请注意,这将更改应用程序中每个内容的分隔线。

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

只需搜索“*divider_horizo​​ntal*”,您就会找到很多。它们有九个补丁,而且并非全部都是纯色。