Android'de ListView'ler arasındaki satırları nasıl kaldırabilirim?


401

Ben böyle iki ListViews kullanıyorum :

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

İki ListViews arasında bir satır boşluk var . Nasıl kaldırabilirim?


3
Farklı listeler gösteren iki ayrı ListView var mı yoksa ListView öğenizdeki öğeler arasında bir satır mı var?
Dave Webb

"Boş" veya "siyah" çizgi mi? Soru OP'den başka biri tarafından düzenlendiğinden beri. Bunlar arasında bir fark var
miva2

1
@deepthi, cevaplardan birini kabul edilmiş olarak işaretlemeyi düşünür müsünüz?
Antek

Yanıtlar:


926

Aynı ListView öğesindeki öğeler arasındaki ayırıcıyı kaldırmak için çözüm şudur:

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

developer.android.com # ListView

Veya XML olarak yapmak istiyorsanız:

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

2
bir nedenden dolayı, XML'de ayarlamak benim için işe yaramadı. kodda ayarlamak zorunda kaldı.
Jeffrey Blattman

8
Benim için XML'de çalıştı. <ListView> </Listview> içine konmalıdır. Bunun neden doğru cevap olarak kabul edilmediğini merak ediyorum.
zolio

1
ikisini de yapmalı mıyız (nullify ve zeroify) ya da sadece bir tane mi?
gunes

3
@Pranav. Lütfen öğretmen, programlama hakkında yazalım. Teşekkür ederim.
Ekim'ta Geltrude

1
Garip bir şekilde sadece dividerHeight = 0 işe yaramadı, sadece divider = @ null yaptı. Neden?
Chintan Shah

96
  1. Bir ayırıcı çizgiyi kaldırmak istiyorsanız, şu kodu kullanın:

    android:divider="@null"
  2. Ayırıcı satır yerine boşluk eklemek istiyorsanız:

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

Böylece, bölücü özelliğinde herhangi bir çizilebilir veya renk kullanabilirsiniz.


65

Bunu başarmanın farklı yolları var, ama hangisinin en iyisi olduğundan emin değilim (en iyi yolun olduğunu bile bilmiyorum). Bir ListView bunu yapmak için en az iki farklı yolu biliyorum:

1. Ayırıcıyı null değerine ayarlayın:

1.1. Programlı

yourListView.setDivider(null);

1.2. XML

Bu, ListView öğenizin içine girer.

android:divider="@null"

2. Liste görünümü öğeleri arasına boşluk eklememek için ayırıcıyı saydam olarak ayarlayın ve yüksekliğini 0 olarak ayarlayın:

2.1. Programlı:

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

2.2. XML

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

1
Bazı durumlarda bölücü rengini saydam olarak ayarlamakla ilgili bir sorun var gibi görünmektedir. ListView öğelerimin her birinin düz renkli, yarı saydam bir arka planı vardı. Bölücüyü gizlemek için ikinci yöntemi kullanırken, hala bir "bölücü" görünüyordu. İlk yönteme geçtiğimde "bölücü" kayboldu.
themarshal

28

XML'de:

android:divider="@null"

Veya Java'da:

listView.setDivider(null);

20

Bölücüyü null olarak ayarla:

JAVA

  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
Bu kod soruyu cevaplayabilirken, sorunun nasıl ve / veya neden çözüldüğüne dair ek bağlam sağlamak yanıtlayıcının uzun vadeli değerini artıracaktır.
Donald Duck

12

Listview etiketine aşağıdaki özelliği koyabilirsiniz

android:divider="@null"

(ya da) aracılığıyla listview.Divider(null); burada listviewbir ListViewreferans.


10

Veya XML biçiminde:

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

Çekilebilir için bir renk kullanabilirsiniz (örn. # Ff112233), ancak cupcake öncesi sürümlerin rengin ayarlanamadığı bir hataya sahip olduğunu unutmayın. Bunun yerine 9 yama veya resim kullanılmalıdır.


Ya da bölücü için standart Android çekilebilir kullanabilirsiniz:@android:drawable/divider_horizontal_...
racs

9

Aşağıdakileri deneyebilirsiniz. Benim için çalıştı ...

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

7

Yüzlerce satırlı bir sınıftaki kod satırını izlemek daha zor olabileceğinden XML dosyasında uygulamayı daha kolay buluyorum. XML için "null" kullanabilirsiniz:

android:divider="@null"

5

ListFragment kullanımı için

getListView().setDivider(null)

liste alındıktan sonra.


0

Bu android:divider="@null"işe yaramazsa, Geri Dönüşüm Görünümleri için ListView'lerinizi değiştirmek mi istiyorsunuz? 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.