android中的ListView将填充添加到与dividerHeight相同大小的标题

时间:2016-03-24 12:28:06

标签: android listview header divider

我在Android中有一个简单的ListView,包含项目,headerView和footerView。 headerView和footerView以编程方式添加到ListView。

ListView的xml如下所示:

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:dividerHeight="8dp"
    android:divider="@color/gray"
    android:footerDividersEnabled="false"
    android:headerDividersEnabled="false" />

这在每个listitem之间给出了一个8dp的灰色分隔符,这正是我想要的。问题是它还在headerView和第一个listitem之间添加了一个填充,其颜色与主题背景相同(在我的例子中为白色),填充也与dividerHeight(8dp)的高度相同。

我认为属性headerDividersEnabled =“true”会从引用中解决这个问题:

  

机器人:headerDividersEnabled

     

设置为false时,ListView不会在每个之后绘制分隔符   标题视图。默认值为true。

如果我设置headerDividersEnabled =“true”,则会按预期绘制listitem和headerView之间的灰色8dp分隔符。

2 个答案:

答案 0 :(得分:0)

从你的问题中我得到的是你试图隐藏项目之间的灰线,如果是这样的话。试试这个。

要删除同一ListView中项目之间的分隔符,以下是解决方案:

  

getListView()setDivider(空)。   getListView()setDividerHeight(0);

developer.android.com#ListView

或者,如果您想以XML格式执行此操作:

  

机器人:分频器= “@空”   机器人:dividerHeight = “0dp”

答案 1 :(得分:0)

在ListView中添加

android:clipToPadding="false"

ListView将在进入填充区域后立即回收其子项。属性clipToPadding仅影响绘图