2013-10-03 2 views
18

Ho una vista elenco per il cassetto di navigazione, come posso mettere la voce di elenco come "Aggiungi amici", "Impostazioni" allineare in fondo alla lista vista.Come mettere gli elementi di elenco nella parte inferiore della visualizzazione elenco in Cassetto di navigazione come Foursquare

enter image description here

Update 1
aggiungo una vista impostazione per la vista piè di pagina.

View settingView = getLayoutInflater().inflate(R.layout.drawer_list_item, null); 
TextView textView = (TextView)settingView.findViewById(R.id.drawer_list_item_text_view); 
textView.setText("Settings"); 
drawerListView.addFooterView(settingView); 

Le voci di impostazione vengono visualizzate correttamente nell'ultima visualizzazione elenco. Ma come posso farlo aderire e allineare in basso? Grazie.

+1

aggiungere un piè di pagina al tuo ListView – Raghunandan

+0

tenta di aggiungere quelli sia elemento piè di pagina dell'elenco articolo ... –

+0

basta modificare il mio post per l'aggiornamento 1. –

risposta

21

È possibile inserire ListView all'interno di RelativeLayout e assegnare android:layout_gravity="start" a RelativeLayout. E imposta la proprietà android:layout_alignParentBottom="true" alla vista che desideri impostare in fondo a ListView.

Questo può aiutare.

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<FrameLayout 
    android:id="@+id/content_frame"...../> 

<RelativeLayout 
    android:id="@+id/relative_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" > 

    <ListView 
     android:id="@+id/left_drawer" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#111" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" /> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" > 

     <TextView 
      android:id="@+id/text_view1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Add Friends" /> 

     <TextView 
      android:id="@+id/text_view2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Settings" /> 
    </RelativeLayout> 
</RelativeLayout> 

</android.support.v4.widget.DrawerLayout> 
+0

Grazie, mi hai dato la soluzione chiave, ma cambio un po 'per il mio bisogno. Ho separato la vista elenco nella vista elenco superiore e in quella in basso, e li ho aggiunti in left_drawer_layout al cassetto di controllo aperto e chiuso. E la vista dell'elenco in basso imposta il layout allinea il genitore dal basso al vero. –

+0

Come aggiungere questa vista relativa in Attività? Questa è un'informazione davvero utile. Grazie e repped! – imcc

+5

Sto ottenendo classCastException qui – andrewww

2

Jay Donga è stato davvero utile, ma ho dovuto cambiare due metodi per inserire un piè di pagina nel mio DrawerLayout.

// WITHOUT FOOTER VIEW 
mDrawerLayout.isDrawerOpen(mDrawerList) 
mDrawerLayout.closeDrawer(mDrawerList) 

// WITH FOOTER VIEW 
mDrawerContent = (RelativeLayout) findViewById(R.id.relative_layout); 
mDrawerLayout.isDrawerOpen(mDrawerContent) 
mDrawerLayout.closeDrawer(mDrawerContent) 
+0

Devi passare mDrawerContent per chiudereDrawer e isDrawerOpen. – pgarriga