web-dev-qa-db-fra.com

Comment supprimer des lignes entre ListViews sur Android?

J'utilise deux ListViews comme ceci:

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

Il y a une ligne blanche entre les deux ListViews. Comment puis-je l'enlever?

380
deepthi

Pour supprimer le séparateur entre les éléments d'une même liste, voici la solution:

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

developer.Android.com # ListView

Ou, si vous voulez le faire en XML:

Android:divider="@null"
Android:dividerHeight="0dp"
892
dasilvj
  1. Si vous souhaitez supprimer une ligne de séparation, utilisez ce code:

    Android:divider="@null"
    
  2. Si vous souhaitez ajouter un espace au lieu d'une ligne de séparation:

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

Vous pouvez donc utiliser n’importe quelle couleur ou dessin dans l’attribut diviseur.

92
Amintabar

Il y a différentes façons d'y parvenir, mais je ne sais pas laquelle est la meilleure (je ne sais même pas s'il existe une meilleure façon). Je connais au moins deux façons différentes de procéder dans un ListView:

1. Définissez diviseur sur null:

1.1. Par programme

yourListView.setDivider(null);

1.2. XML

Cela va dans votre élément ListView.

Android:divider="@null"

2. Réglez le séparateur sur transparent et définissez sa hauteur sur 0 pour éviter d'ajouter de l'espace entre les éléments listview:

2.1. Par programme:

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

2.2. XML

Android:divider="@Android:color/transparent"
Android:dividerHeight="0dp"
63
Sotti

En XML:

Android:divider="@null"

Ou en Java:

listView.setDivider(null);
26
Khalid Taha

Définissez le diviseur sur null:

Java

  listview_id.setDivider(null);

XML

<ListView 
  Android:id="@+id/listview"
  Android:layout_width="match_parent"
  Android:layout_height="match_parent"
  Android:divider="@null"
  />
16
Saneesh
   <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"/>
14
Muhammad Shafqat

Vous pouvez mettre ci-dessous la propriété dans la balise listview

Android:divider="@null"

(ou) par programme listview.Divider(null); here listview est ListView référence.

11
sandeepmaaram

Ou en XML:

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

Vous pouvez utiliser une couleur pour le dessin (par exemple, # ff112233), mais sachez que les versions pré-cupcake ont un bogue dans lequel la couleur ne peut pas être définie. Au lieu de cela, un patch de 9 ou une image doit être utilisé.

10
Mads Kristiansen

Vous pouvez essayer ce qui suit. Cela a fonctionné pour moi ...

Android:divider="@Android:color/transparent"
Android:dividerHeight="0dp" 
8
Zia

Je trouve plus facile de l'implémenter dans le fichier XML car il peut être plus difficile de tracer la ligne de code dans une classe contenant des centaines de lignes. Pour le XML, vous pouvez utiliser "null":

Android:divider="@null"
6
Fred

Pour une utilisation de ListFragment

getListView().setDivider(null)

après avoir obtenu la liste.

4
Meanman

Si ce Android:divider="@null" ne fonctionne pas, peut-être changer vos ListViews pour les vues Recycler?

0
Richard Nikolas