Bagaimana cara menghapus garis antara ListViews di Android?


401

Saya menggunakan dua ListViews seperti ini:

<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"/>

Ada satu garis kosong di antara keduanya ListView. Bagaimana cara menghapusnya?


3
Apakah Anda memiliki dua ListViews terpisah yang menampilkan daftar yang berbeda atau maksud Anda memiliki garis di antara item di ListView Anda?
Dave Webb

Apakah itu garis "kosong" atau "hitam"? Karena pertanyaan diedit oleh orang lain selain OP. Ada perbedaan di antara mereka
miva2

1
@deepthi, apakah Anda akan mempertimbangkan menandai salah satu jawaban sebagai diterima?
Antek

Jawaban:


926

Untuk menghapus pemisah antara item dalam ListView yang sama, berikut adalah solusinya:

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

developer.android.com # ListView

Atau, jika Anda ingin melakukannya dalam XML:

android:divider="@null"
android:dividerHeight="0dp"

2
untuk beberapa alasan, pengaturannya di XML tidak berhasil untuk saya. harus mengaturnya dalam kode.
Jeffrey Blattman

8
Bekerja dalam XML untuk saya. Harus dimasukkan ke dalam <ListView> </Listview>. Bertanya-tanya mengapa ini tidak diterima sebagai jawaban yang benar.
zolio

1
apakah kita perlu membuat keduanya (batal dan kosongkan) atau cukup satu saja?
guness

3
@Pranav. Tolong guru, mari kita menulis tentang pemrograman. Terima kasih.
Geltrude

1
Weirdly only dividerHeight = 0 tidak bekerja, hanya divider = @ null yang bekerja. Mengapa?
Chintan Shah

96
  1. Jika Anda ingin menghapus garis pembagi, gunakan kode ini:

    android:divider="@null"
  2. Jika Anda ingin menambahkan spasi alih-alih garis pembagi:

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

Jadi, Anda dapat menggunakan gambar atau warna apa pun dalam atribut pembagi.


65

Ada berbagai cara untuk mencapai hal ini, tetapi saya tidak yakin mana yang terbaik (saya bahkan tidak tahu apakah ada cara terbaik). Saya tahu setidaknya dua cara berbeda untuk melakukan ini di ListView:

1. Setel pembagi menjadi nol:

1.1. Secara terprogram

yourListView.setDivider(null);

1.2. XML

Ini masuk ke dalam elemen ListView Anda.

android:divider="@null"

2. Atur pembagi menjadi transparan dan setel tingginya ke 0 untuk menghindari penambahan ruang di antara elemen-elemen listview:

2.1. Secara terprogram:

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

2.2. XML

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

1
Dalam situasi tertentu tampaknya ada masalah dengan hanya mengatur warna pembagi menjadi transparan. Elemen ListView saya masing-masing memiliki latar belakang berwarna solid, semi-transparan. Ketika saya menggunakan metode kedua menyembunyikan pembagi, "pembagi" tampaknya masih muncul. Ketika saya beralih ke metode pertama, "pembagi" menghilang.
themarshal

28

Dalam XML:

android:divider="@null"

Atau di Jawa:

listView.setDivider(null);

20

Setel pembagi menjadi nol:

JAWA

  listview_id.setDivider(null);

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />

15
   <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"/>

1
Sementara kode ini dapat menjawab pertanyaan, memberikan konteks tambahan tentang bagaimana dan / atau mengapa memecahkan masalah akan meningkatkan nilai jangka panjang jawaban.
Donald Duck

12

Anda dapat memasukkan properti di bawah ini ke tag listview

android:divider="@null"

(atau) pemrograman listview.Divider(null); di sini listviewadalah ListViewreferensi.


10

Atau dalam XML:

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

Anda dapat menggunakan warna untuk drawable (mis. # Ff112233), tetapi perlu diketahui, bahwa rilis pre-cupcake memiliki bug di mana warnanya tidak dapat diatur. Sebagai gantinya 9-patch atau gambar harus digunakan ..


Atau Anda bahkan dapat menggunakan @android:drawable/divider_horizontal_...
drawable

9

Anda dapat mencoba yang berikut ini. Itu bekerja untuk saya ...

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

7

Saya merasa lebih mudah untuk mengimplementasikannya dalam file XML karena akan lebih sulit untuk melacak garis kode di kelas dengan ratusan baris. Untuk XML, Anda dapat menggunakan "null":

android:divider="@null"

5

Untuk penggunaan ListFragment

getListView().setDivider(null)

setelah daftar diperoleh.


0

Jika ini android:divider="@null"tidak berhasil, mungkin mengubah ListViews Anda untuk Tampilan Pendaur Ulang? 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.