android-layout example - Come rimuovo le linee tra ListViews su Android?




inflate adapter (11)

Sto usando due ListView questo modo:

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

C'è una riga vuota tra i due ListView . Come lo rimuovo?


Answers

In XML:

android:divider="@null"

O in Java:

listView.setDivider(null);

Per l'uso ListFragment

getListView().setDivider(null)

dopo l'elenco è stato ottenuto.


Se questo android:divider="@null" non funziona, forse cambiando le tue ListViews per le viste Recycler?


Imposta il divisore su null:

GIAVA

  listview_id.setDivider(null);

XML

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

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

Per rimuovere il separatore tra gli elementi nello stesso ListView, ecco la soluzione:

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

developer.android.com # ListView

Oppure, se vuoi farlo in XML:

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

Ci sono diversi modi per raggiungere questo obiettivo, ma non sono sicuro di quale sia il migliore (non so nemmeno che esista un modo migliore). Conosco almeno due modi diversi per farlo in un ListView:

1. Imposta il divisore su null:

1.1. programmazione

yourListView.setDivider(null);

1.2. XML

Questo va all'interno del tuo elemento ListView.

android:divider="@null"

2. Imposta il divisore su trasparente e imposta la sua altezza su 0 per evitare di aggiungere spazio tra gli elementi listview:

2.1. livello di programmazione:

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

2.2. XML

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

O in XML:

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

Puoi usare un colore per il drawable (es. # Ff112233), ma sappi che le versioni precedenti al cupcake hanno un bug in cui il colore non può essere impostato. Invece è necessario utilizzare una 9 patch o un'immagine.


  1. Se vuoi rimuovere una linea divisoria, usa questo codice:

    android:divider="@null"
    
  2. Se vuoi aggiungere uno spazio invece di una linea divisoria:

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

Quindi, puoi usare qualsiasi drawable o colore nell'attributo del divisore.


Puoi provare quanto segue. Ha funzionato per me ...

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

fill_parent (rinominato MATCH_PARENT in API Livello 8 e successive), il che significa che la vista vuole essere grande quanto il suo genitore (meno padding)

fill_parent: la vista dovrebbe essere grande quanto il suo genitore (meno padding). Questa costante è deprecata a partire dal livello API 8 e viene sostituita da match_parent

Per le API Android da 1.6 a 2.1 match_parent genererà un errore, quindi utilizza fill_parent in questi casi. Per supportare la compatibilità con le versioni precedenti, è meglio utilizzare fill_parent

Entrambe sono costanti finali statiche che rappresentano il valore -1

FILL_PARENT è obsoleto in livello API 8

QUINDI MATCH_PARENT E FILL_PARENT SONO LO STESSO?

Sì, MATCH_PARENT e FILL_PARENT sono solo nomi di costanti diversi per lo stesso valore intero (-1 se sei curioso) usati per specificare la modalità di layout di una vista all'interno del suo genitore.

COSÌ È STATO AGGIUNTO MATCH_PARENT?

Come Roman Guy (sviluppatore Android di Google) ha dichiarato di aver cambiato il nome perché "fill_parent" era fonte di confusione per gli sviluppatori. Per quanto riguarda il fatto, "fill_parent" non riempie lo spazio rimanente (per questo si usa l'attributo weight) ma prende come





android android-layout listview