Più in alto e più in basso orizzontale divisore non compare in ListView
-
23-09-2019 - |
Domanda
Sto usando un ListView. Ma il più in alto e più in basso barra orizzontale non si presenta. Perché? Sto usando questo:
android:divider="@android:drawable/divider_horizontal_bright"
Soluzione
Hai guardato in impostazione android:headerDividersEnabled
e android:footerDividersEnabled
sul ListView
?
Inoltre, se cercate drawDivider
in piattaforma / quadri / base / + / master / core / java / android / Widger / ListView.java nel repository open source Android , sarete in grado di trovare alcuni altri indizi.
Altri suggerimenti
Aggiungi un piè di pagina e intestazione fittizia
listViewContato = (ListView) view.findViewById(R.id.listview_contatos);
listViewContato.addHeaderView(new View(getActivity()));
listViewContato.addFooterView(new View(getActivity()));
Ecco come ho implementato è ...
divisore bottom presenta dopo l'impostazione android:paddingBottom
per la ListView
. Ma nel mio caso dopo aver impostato superiore android:paddingTop
e divisori inferiore non vengono visualizzati. Non so perché.
Così ho aggiunto nella mia list_item_layout.xml
il seguente codice:
<View
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider" />
e il mio adattatore ho solo cambiando la visibilità di questo punto di vista:
View topDivider = v.findViewById(R.id.divider);
if (position == 0) {
topDivider.setVisibility(View.VISIBLE);
} else {
topDivider.setVisibility(View.GONE);
}
Spero che questo sarà utile a qualcuno.
Ho avuto lo stesso problema con la LibSlideMenu .
Come android:headerDividersEnabled
impostato su true non ha mostrato il divisore di intestazione nel menu scorrevole, ho risolto cambiando slidemenu.xml
(non slidemenu_listitem.xml
) a
<LinearLayout ...>
<LinearLayout ...>
<ImageView ...> (this is the header image on top of the menu)
<View
android:layout_width="250dip"
android:layout_height="2dip"
android:background="@drawable/divider" />
<ListView ...> (this is the ListView for the MenuItems)
</LinearLayout>
<FrameLayout ...>
</FrameLayout ...>
</LinearLayout>
Questo aggiungerà il divisore manualmente.