422

我正在使用ListView这样的两个 s:

<ListView
   android:id="@+id/ListView"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>
<ListView
   android:id="@+id/ListView1"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>

ListView两个s之间有一个空行。如何删除它?

4

13 回答 13

962

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

getListView().setDivider(null);
getListView().setDividerHeight(0);

developer.android.com # 列表视图

或者,如果您想在 XML 中执行此操作:

android:divider="@null"
android:dividerHeight="0dp"
于 2009-12-16T13:12:46.143 回答
97
  1. 如果要删除分隔线,请使用以下代码:

    android:divider="@null"
    
  2. 如果要添加空格而不是分隔线:

    android:divider="@android:color/transparent"
    android:dividerHeight="5dp"
    

因此,您可以在分隔符属性中使用任何可绘制对象或颜色。

于 2013-12-30T12:31:15.867 回答
65

有不同的方法可以实现这一点,但我不确定哪一个是最好的(我什至不知道是否有最好的方法)。我知道在 ListView 中至少有两种不同的方法可以做到这一点:

1.设置分隔符为空:

1.1。以编程方式

yourListView.setDivider(null);

1.2. XML

这进入您的 ListView 元素。

android:divider="@null"

2. 将分隔符设置为透明,并将其高度设置为0,以避免在listview元素之间增加空间:

2.1。以编程方式:

yourListView.setDivider(new ColorDrawable(android.R.color.transparent));
yourListView.setDividerHeight(0);

2.2. XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"
于 2014-07-09T12:00:18.703 回答
31

将分隔符设置为空:

JAVA

  listview_id.setDivider(null);

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />
于 2017-12-28T21:01:57.723 回答
28

在 XML 中:

android:divider="@null"

或者在 Java 中:

listView.setDivider(null);
于 2016-07-31T13:39:21.013 回答
17
   <ListView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/list"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  android:dividerHeight="0dp"/>
于 2017-01-25T13:37:20.643 回答
12

您可以将以下属性放在 listview 标记中

android:divider="@null"

(或)以编程方式listview.Divider(null); 在这里listviewListView参考。

于 2013-09-29T08:40:49.920 回答
10

或者在 XML 中:

android:divider="@drawable/list_item_divider"
android:dividerHeight="1dp"

您可以为可绘制对象使用颜色(例如#ff112233),但请注意,纸杯蛋糕前版本存在无法设置颜色的错误。相反,必须使用 9-patch 或图像。

于 2009-12-16T13:27:44.377 回答
9

您可以尝试以下方法。它对我有用...

android:divider="@android:color/transparent"
android:dividerHeight="0dp" 
于 2013-09-16T10:36:28.400 回答
7

我发现在 XML 文件中实现它更容易,因为在具有数百行代码的类中跟踪代码行可能更困难。对于 XML,您可以使用“null”:

android:divider="@null"
于 2015-08-27T14:29:51.770 回答
5

对于 ListFragment 使用

getListView().setDivider(null)

拿到名单后。

于 2014-04-27T11:42:23.733 回答
0

如果这android:divider="@null"不起作用,也许将您的 ListViews 更改为 Recycler Views? 

于 2017-06-09T17:43:02.353 回答
-1

String txt = ( (TextView) view).getText().toString();
adapter.remove(txt);
  

在此处输入图像描述

于 2021-09-14T16:04:28.877 回答