如何将列表项放在导航抽屉列表视图的底部,如Foursquare

时间:2013-10-03 10:11:10

标签: android android-listview navigation-drawer

我有导航抽屉的列表视图,如何将列表项添加为“添加好友”,“设置”对齐在列表视图的底部。

enter image description here

更新1
我在页脚视图中添加了一个设置视图。

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

设置项目成功显示在列表视图的最后一个项目中。但是我怎样才能让它在底部粘住并对齐?感谢。

2 个答案:

答案 0 :(得分:21)

您可以将ListView放在RelativeLayout内,并将android:layout_gravity="start"分配给RelativeLayout。并将android:layout_alignParentBottom="true"属性设置为您要设置为ListView底部的视图。

这可能会对你有帮助。

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

答案 1 :(得分:2)

Jay Donga真的很有帮助,但我不得不改变两种方法在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)