我已经创建了我自己的扩展 Preference 的自定义首选项对象。我只创建了它们,因为这些自定义数据类型没有首选项。
一切正常,但我的自定义首选项没有相同的外观,因为它们缺少系统首选项对象具有的水平分隔线。我已经寻找了创建水平分隔线的代码,但我找不到它在哪里完成。
内置分隔线不仅仅是一根细条。它有一点渐变。我在想这可能在布局文件中,但我找不到系统首选项的布局。
有人知道这是如何实现的吗?
我已经创建了我自己的扩展 Preference 的自定义首选项对象。我只创建了它们,因为这些自定义数据类型没有首选项。
一切正常,但我的自定义首选项没有相同的外观,因为它们缺少系统首选项对象具有的水平分隔线。我已经寻找了创建水平分隔线的代码,但我找不到它在哪里完成。
内置分隔线不仅仅是一根细条。它有一点渐变。我在想这可能在布局文件中,但我找不到系统首选项的布局。
有人知道这是如何实现的吗?
很老的帖子,但是对于那些偶然发现这个的人。不确定 OP 是否在询问如何更改分隔线或分隔线图像的来源。所以我会同时解决这两个问题。
如何
Preferences
使用 aListView
填充所有个人偏好。.setDivider()
这意味着您可以使用from 方法更改分隔符ListView
。APreferenceActivity
已经getListView()
为您准备好了方法。但是,PreferenceFragments
只需使用android.R.id.list
ID 即可找到它。
如果您不想通过代码更改分隔符,则始终可以通过覆盖listDivider
属性来使用主题。例如:
<item name="android:listDivider">@drawable/custom_divider</item>
请注意,这将更改ListView
应用程序中 EVERY 的分隔符。
使用的listDivider
drawable 取决于激活的 Android 主题。您将在以下位置找到已安装的 Android SDK 中的所有这些图像:
[Android SDK]/platforms/[API]/data/res/drawable-[DPI]/
只需搜索 `*divider_horizontal*`,您就会找到很多。它们是九个补丁,并非所有都是纯色。