Android ListView默认分隔符样式/属性

时间:2011-03-13 13:06:49

标签: android listview android-linearlayout divider

我有一个LinearLayout视图,我试图添加一个分隔符,使其看起来与默认的ListView控件完全相同。我想在默认的Android(Nexus S 2.3.3)联系人应用程序中复制编辑联系人,我相信LinearLayout最适合性能。

我正在使用代码复制分隔符,如下所示:

    <View
    android:id="@+id/Separator"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/dividerHeight"
    android:background="?android:attr/divider"/>

如何访问默认分频器颜色或drawable以及分频器高度?我希望这与我设置的ListViews相匹配,所以我认为使用Android系统属性是最好的。上面的代码崩溃如下所示,所以我假设我无法访问这些属性或者错误地解决了这个问题。

03-13 22:59:38.851: ERROR/AndroidRuntime(3575): Caused by: java.lang.RuntimeException: Binary XML file line #26: You must supply a layout_height attribute.

2 个答案:

答案 0 :(得分:38)

这是在Android source code

中完成的
<View android:id="@+id/Separator"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="?android:attr/listDivider" />

答案 1 :(得分:0)

魔术师知识的来源必须是https://developer.android.com/reference/android/R.attr.html

  

public static final int listDivider:

     

列表的drawable   分频器。必须是表单中对另一个资源的引用   “@ [+] [package:] type:name”或表单中的主题属性   “[包:] [类型:]名称”。

所以我必须在该网站搜索栏中输入 - “为列表分隔符绘制”或只是“分隔符”