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

Edw*_*ang 18 android android-listview navigation-drawer

我得到了导航抽屉的列表视图,如何在列表视图的底部放置"添加好友"列表项,"设置"对齐.

在此输入图像描述

更新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); 
Run Code Online (Sandbox Code Playgroud)

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

Jay*_*nga 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>
Run Code Online (Sandbox Code Playgroud)

  • 我在这里得到classCastException (5认同)
  • @andrewww异常是因为你在调用`mDrawerLayout.isDrawerOpen()`并打开/关闭时使用`ListView`引用.你应该使用`relative_layout`的引用. (5认同)