在我的导航抽屉中,我有一个ListView,下面是一些ImageButtons。要在屏幕底部的顶部和其余视图上显示Listview,我使用了相对布局,如下所示。
在这种情况下,当我将手机旋转到水平方向时(例如,显示ListView和其他人的长度不够),ImageButtons会重叠ListView(就像HTML中的浮动DIV一样)。
我尝试使用LinearLayout和layout_gravity =“bottom”作为ImageButtons的容器,但是按钮被放置在Listview附近,而不是放在scren的底部。
请指导我如何正确实现这一点。
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<RelativeLayout
android:id="@+id/drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start">
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<LinearLayout
android:id="@+id/extrabuttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/credit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/information" />
<ImageButton
android:id="@+id/exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_exit" />
</LinearLayout>
<TextView
android:id="@+id/ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/extrabuttons"
android:gravity="start"
android:text="@string/ad_tag" />
</RelativeLayout>
</RelativeLayout>
这就是它应该看起来像&amp;如何在垂直模式下看起来像
这是水平模式下的样子
答案 0 :(得分:0)
然后尝试这样做
<LinearLayout
android:id="@+id/drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical" >
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="0dp"
android:layout_gravity="start"
android:layout_weight="6" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<LinearLayout
android:id="@+id/extrabuttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/credit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<ImageButton
android:id="@+id/exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<TextView
android:id="@+id/ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/extrabuttons"
android:gravity="start"
android:text="string/ad_tag" />
</RelativeLayout>
</LinearLayout>
答案 1 :(得分:0)
布局组件重叠,因为您使用了相对布局作为父级。尝试使用垂直方向的线性布局,而不是相对布局。
答案 2 :(得分:0)
我知道我的答案有点迟了。我建议制作单独的xml布局,并使用'addFooterView'方法将此布局添加到listview。它将xml始终绑定在该列表视图的最后。我希望它会对你有所帮助。