如何删除Android上ListViews之间的行?

dee*_*thi 384 android listview android-layout

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

<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"/>
Run Code Online (Sandbox Code Playgroud)

两者之间有一条空白行ListView.我该如何删除它?

das*_*lvj 901

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

getListView().setDivider(null);
getListView().setDividerHeight(0);
Run Code Online (Sandbox Code Playgroud)

developer.android.com#ListView

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

android:divider="@null"
android:dividerHeight="0dp"
Run Code Online (Sandbox Code Playgroud)

  • 为我工作XML.应该放在<ListView> </ Listview>中.不知道为什么这不被认为是正确的答案. (8认同)
  • android:showDividers ="none"为我工作 (3认同)
  • @Pranav.请老师,让我们来写一下编程.谢谢. (3认同)
  • 出于某种原因,在XML中设置它对我来说不起作用.不得不在代码中设置它. (2认同)

Ami*_*bar 92

  1. 如果要删除分隔线,请使用以下代码:

    android:divider="@null"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果要添加空格而不是分隔线:

    android:divider="@android:color/transparent"
    android:dividerHeight="5dp"
    
    Run Code Online (Sandbox Code Playgroud)

因此,您可以在divider属性中使用任何drawable或color.


Sot*_*tti 63

有不同的方法来实现这一点,但我不确定哪一个是最好的(我甚至不知道有一个最好的方法).我知道在ListView中至少有两种不同的方法:

1.将分隔符设置为null:

1.1.编程

yourListView.setDivider(null);
Run Code Online (Sandbox Code Playgroud)

1.2.XML

这包含在ListView元素中.

android:divider="@null"
Run Code Online (Sandbox Code Playgroud)

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

2.1.编程方式:

yourListView.setDivider(new ColorDrawable(android.R.color.transparent));
yourListView.setDividerHeight(0);
Run Code Online (Sandbox Code Playgroud)

2.2.XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"
Run Code Online (Sandbox Code Playgroud)


Kha*_*aha 27

在XML中:

android:divider="@null"
Run Code Online (Sandbox Code Playgroud)

或者在Java中:

listView.setDivider(null);
Run Code Online (Sandbox Code Playgroud)


San*_*esh 16

将分隔符设置为null:

JAVA

  listview_id.setDivider(null);
Run Code Online (Sandbox Code Playgroud)

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />
Run Code Online (Sandbox Code Playgroud)


小智 14

   <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"/>
Run Code Online (Sandbox Code Playgroud)


san*_*ram 11

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

android:divider="@null"
Run Code Online (Sandbox Code Playgroud)

(或)listview.Divider(null); 这里listview以编程方式为ListView参考.


Mad*_*sen 10

或者用XML:

android:divider="@drawable/list_item_divider"
android:dividerHeight="1dp"
Run Code Online (Sandbox Code Playgroud)

你可以使用一种颜色作为drawable(例如#ff112233),但要注意,预杯子版本有一个无法设置颜色的bug.相反,必须使用9补丁或图像..


Zia*_*Zia 8

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

android:divider="@android:color/transparent"
android:dividerHeight="0dp" 
Run Code Online (Sandbox Code Playgroud)


小智 6

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

android:divider="@null"
Run Code Online (Sandbox Code Playgroud)


Mea*_*man 5

对于 ListFragment 使用

getListView().setDivider(null)
Run Code Online (Sandbox Code Playgroud)

得到名单后。