8

如果将首选项的可选择性设置为 false,您会注意到该项目周围的分隔线将消失。

你知道有没有办法保留这些分隔线?

我查看了 ListView API 并找不到可以在此处应用的解决方案,因为 ListView 项目没有可选属性(页眉页脚除外)。

谢谢!

4

5 回答 5

1

我用 hack 做到了。

<Preference android:layout="@layout/preference_divider" />
<Preference android:title="@string/whatever" android:selectable="false" />

res/layout/preference_divider.xml

<?xml version="1.0" encoding="utf-8"?>
<View xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#cccccc"
    android:layout_width="fill_parent"
    android:layout_height="1px" />
于 2014-07-01T19:08:27.137 回答
0

一些示例代码会有所帮助!您是否在ListView元素中设置了分隔符?如果是,请检查此帖子

<ListView
    //...
    android:divider="@color/black"
    />

否则,您可以创建自定义 ListElementView 并在布局 xml 中添加分隔线。

于 2013-08-26T14:55:09.807 回答
0

这是一个对我有用的“技巧”。只需将 android:focusable="true" 设置为首选项中的任何项目。这将使整个首选项行不可点击。

于 2014-10-01T13:13:39.490 回答
0

如果你想使用首选项来显示一些文本,你也可以使用不可编辑的 EditTextPreference。该首选项仍然可以选择,但仅在选择时显示其内容。

<EditTextPreference
    android:editable="false"
    ... />
于 2015-09-17T14:50:18.680 回答
0

您要隐藏的线称为“分隔线”。PreferenceActivity扩展ListActivity,如您所料,它使用ListView. 您可以更改ListView. 在你的PreferenceActivity

        ListView lv = getListView();
        lv.setDivider(new ColorDrawable(Color.TRANSPARENT));
        lv.setDividerHeight(0);
于 2017-10-06T15:03:19.777 回答