ナビゲーションドロワーのリストビューを取得しました。「友達の追加」、「設定」などのリストアイテムをリストビューの下部に配置するにはどうすればよいですか。
アップデート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);
設定項目は、リストビューの最後に正常に表示されます。しかし、どうすれば下部に貼り付けて整列させることができますか?ありがとう。
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>
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)