web-dev-qa-db-ja.com

Foursquareのようなナビゲーションドロワーのリストビューの下部にリストアイテムを配置する方法

ナビゲーションドロワーのリストビューを取得しました。「友達の追加」、「設定」などのリストアイテムをリストビューの下部に配置するにはどうすればよいですか。

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

設定項目は、リストビューの最後に正常に表示されます。しかし、どうすれば下部に貼り付けて整列させることができますか?ありがとう。

18
Edward Chiang

ListViewRelativeLayout内に配置し、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>
21
Jay Donga

Jay Dongaは本当に役に立ちましたが、DrawerLayoutにフッターを挿入するために2つのメソッドを変更する必要がありました。

// 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)
2
AMarones