2010-03-30 13 views

risposta

9

Hai guardato in impostazione android:headerDividersEnabled e android:footerDividersEnabled sul ListView?

Inoltre, se si cerca drawDivider in platform/frameworks/base/+/master/core/java/android/widger/ListView.java nello Android open source repository, sarà possibile trovare ulteriori indizi.

+1

android: footerDividersEnabled non funziona per me –

+0

In un widget, sembra Android: footerDividersEnabled e Android: headerDividersEnabled non fa nulla.Stavo cercando altre soluzioni – RealCasually

+0

Ho tre intestazioni nel mio listview, la terza intestazione dovrebbe essere mostrata/nascosta in fase di esecuzione C'è un modo per rimuovere l'altezza del divisore della terza intestazione (cioè impostata su 0) o qualsiasi soluzione alternativa? –

10

Ecco come l'ho implementato ... Il separatore inferiore si visualizza dopo aver impostato android:paddingBottom per ListView. MA nel mio caso dopo aver impostato android:paddingTop i divisori superiore e 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.

2

Ho avuto lo stesso problema con LibSlideMenu.

Come android:headerDividersEnabled impostato su vero non ha mostrato il divisore di intestazione nel menu scorrevole, ho risolto cambiando slidemenu.xml (non slidemenu_listitem.xml) per

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

Ciò aggiungerà il divisore manualmente.

11

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())); 
+0

questo ha bisogno di più amore, funziona! nel thread di commento di Roman Nurik, funziona subito, ma l'intestazione richiede un'intestazione. –

Problemi correlati