我的布局包含一个带有片段容器和列表视图的drawerlayout。列表视图包含三个项目,我已使用适配器添加了这些项目。
<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 to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@drawable/listview_background_drawable"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"/>
</android.support.v4.widget.DrawerLayout>
所以现在我想在listview(屏幕)的底部添加一个视图。我尝试使用addFooterView(),但这只是添加最后一项而不是屏幕底部的视图。我现在有一些关于stackoverflow的例子如何做但由于我的抽象布局,它们不适合我。
有没有办法将视图添加到我的列表视图并将视图的对齐方式设置为屏幕底部?
答案 0 :(得分:3)
您可以通过向listview添加作为footerview的布局来执行此操作,或者使用此代码将页眉更改为页脚。
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<RelativeLayout
android:id="@+id/slider"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start" >
<LinearLayout
android:id="@+id/header_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="#AA000000"
android:orientation="horizontal"
android:padding="5dp" >
<com.wholesaleraja.model.RoundImage
android:id="@+id/profile_icon"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:src="@drawable/default_image_male" />
<LinearLayout
android:id="@+id/profile_name_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:padding="5dp" >
<TextView
android:id="@+id/profile_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textColor="#ffffff"
android:textSize="20sp" />
<TextView
android:id="@+id/profile_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/header_divider"
android:layout_width="fill_parent"
android:layout_height="2dp"
android:layout_below="@+id/header_view"
android:background="@color/list_divider" />
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_below="@+id/header_divider"
android:background="@color/list_header"
android:choiceMode="singleChoice"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:overScrollMode="never" />
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
答案 1 :(得分:2)
在这种情况下,底部布局应从ListView
中取出。您需要将所有元素包含在父布局中(最好是RelativeLayout
),并在其中声明DrawerLayout
和底部布局。另外,设置android:layout_alignParentBottom =&#34; true&#34;对于底部布局,它始终保持在底部。
示例:
<RelativeLayout
...
... >
(put your drawer layout xml here)
<BottomLayout
android:layout_alignParentBottom="true" >
</BottomLayout>
</RelativeLayout>
答案 2 :(得分:0)
将抽屉设置为布局,并将列表和其他视图放在其中。例如:
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/lvList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/listview_background_drawable"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"/>
<TextView
android:id="@+id/tvText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
答案 3 :(得分:0)
滑块菜单可以是任何类型的视图,因此您可以这样做:
<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 to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start">
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/listview_background_drawable"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"/>
<TextView
android:id="@+id/text_slidermenu"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>