Как удалить линии между ListViews на Android? - PullRequest
379 голосов
/ 16 декабря 2009

Я использую два 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"/>

Между двумя ListView с есть одна пустая строка.Как мне это удалить?

Ответы [ 12 ]

891 голосов
/ 16 декабря 2009

Чтобы удалить разделитель между элементами в одном и том же ListView, вот решение:

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

developer.android.com # ListView

Или, если вы хотите сделать это в XML:

android:divider="@null"
android:dividerHeight="0dp"
92 голосов
/ 30 декабря 2013
  1. Если вы хотите удалить разделительную линию, используйте этот код:

    android:divider="@null"
    
  2. Если вы хотите добавить пробел вместо разделительной линии:

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

Таким образом, вы можете использовать любой нарисованный или цвет в атрибуте divider.

63 голосов
/ 09 июля 2014

Существуют разные способы достижения этого, но я не уверен, какой из них лучший (я даже не знаю, есть ли лучший способ). Я знаю по крайней мере два разных способа сделать это в ListView:

1. Установить делитель на ноль:

1,1. Программный

yourListView.setDivider(null);

1.2. XML

Это входит в ваш элемент ListView.

android:divider="@null"

2. Установите делитель на прозрачный и установите его высоту на 0, чтобы избежать добавления пробела между элементами списка:

2,1. Программный:

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

2.2. XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"
26 голосов
/ 31 июля 2016

В XML:

android:divider="@null"

Или на Java:

listView.setDivider(null);
16 голосов
/ 29 декабря 2017

Установить делитель на ноль:

JAVA

  listview_id.setDivider(null);

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />
14 голосов
/ 25 января 2017
   <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"/>
11 голосов
/ 29 сентября 2013

Вы можете указать свойство ниже в теге listview

android:divider="@null"

(или) программно listview.Divider(null); здесь listview это ListView ссылка.

10 голосов
/ 16 декабря 2009

Или в XML:

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

Вы можете использовать цвет для рисования (например, # ff112233), но имейте в виду, что в выпусках перед кексом есть ошибка, из-за которой нельзя установить цвет. Вместо этого необходимо использовать 9-патч или изображение ..

8 голосов
/ 16 сентября 2013

Вы можете попробовать следующее. У меня это сработало ...

android:divider="@android:color/transparent"
android:dividerHeight="0dp" 
6 голосов
/ 27 августа 2015

Мне проще реализовать его в файле XML, так как будет сложнее отследить строку кода в классе с сотнями строк. Для XML вы можете использовать «null»:

android:divider="@null"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...