5

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

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

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

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

4

1 回答 1

3

很老的帖子,但是对于那些偶然发现这个的人。不确定 OP 是否在询问如何更改分隔线或分隔线图像的来源。所以我会同时解决这两个问题。

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

如果您不想通过代码更改分隔符,则始终可以通过覆盖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_horizo​​ntal*`,您就会找到很多。它们是九个补丁,并非所有都是纯色。

于 2013-08-12T17:24:21.707 回答