如果将首选项的可选择性设置为 false,您会注意到该项目周围的分隔线将消失。
你知道有没有办法保留这些分隔线?
我查看了 ListView API 并找不到可以在此处应用的解决方案,因为 ListView 项目没有可选属性(页眉和页脚除外)。
谢谢!
我用 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" />
一些示例代码会有所帮助!您是否在ListView
元素中设置了分隔符?如果是,请检查此帖子。
<ListView
//...
android:divider="@color/black"
/>
否则,您可以创建自定义 ListElementView 并在布局 xml 中添加分隔线。
这是一个对我有用的“技巧”。只需将 android:focusable="true" 设置为首选项中的任何项目。这将使整个首选项行不可点击。
如果你想使用首选项来显示一些文本,你也可以使用不可编辑的 EditTextPreference。该首选项仍然可以选择,但仅在选择时显示其内容。
<EditTextPreference
android:editable="false"
... />
您要隐藏的线称为“分隔线”。PreferenceActivity
扩展ListActivity
,如您所料,它使用ListView
. 您可以更改ListView
. 在你的PreferenceActivity
:
ListView lv = getListView();
lv.setDivider(new ColorDrawable(Color.TRANSPARENT));
lv.setDividerHeight(0);