Android:为什么我的视图会填满整个屏幕而不显示底部的按钮

时间:2011-03-14 21:29:28

标签: android layout

如何阻止我的视图填满整个屏幕,而不是在屏幕底部显示我的按钮?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"
    android:layout_height="fill_parent"> 
<com.vig.comix.ImageZoomView
    android:id="@+id/zoomview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"    android:layout_alignParentTop="true" />
<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"    android:layout_below="@+id/zoomview"    android:layout_alignParentBottom="true"> 
<ImageButton android:id="@+id/btnPrev"
    android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:src="@android:drawable/ic_media_rew"
    android:background="@null"
    android:layout_weight="1"
    android:width="0px" /> 
<ImageButton android:id="@+id/btnNext"
    android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:src="@android:drawable/ic_media_ff"
    android:background="@null"
    android:layout_weight="1"
    android:width="0px" /> 
<ImageButton android:id="@+id/btnMove"
    android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:src="@android:drawable/btn_star"
    android:background="@null"
    android:layout_weight="1"
    android:width="0px" /> 
<ImageButton android:id="@+id/btnDelete"
    android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:src="@android:drawable/ic_menu_delete"
    android:background="@null"
    android:layout_weight="1"
    android:width="0px" /> 
</LinearLayout> 
</RelativeLayout>

当我更改代码并将按钮放在顶部时,它可以正常工作。我尝试了相对布局,线性布局,lauout权重......

我做错了什么?

4 个答案:

答案 0 :(得分:1)

RelativeLayout可能很难处理。我尝试坚持使用FrameLayoutLinearLayout。这是我将在您的案例中使用的布局草图:

<LinearLayout orientation="vertical">
    <ImageZoomView layout_weight="1" layout_height="wrap_content">
    <LinearLayout orientation="horizontal" layout_height="wrap_content">
        ... buttons ...
    </LinearLayout>
</LinearLayout>

未提及时,高度和宽度为fill_parentlayout_weight上的ImageZoomView属性会使其尽可能扩展而不会压缩底部按钮。

答案 1 :(得分:0)

也许layout_weight引起了问题?此外,您似乎并不是要为物品提供相对于其定位的对象?

答案 2 :(得分:0)

改变这个:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"> 

到此:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"> 

答案 3 :(得分:0)

而不是将android:layout_below放在LinearLayout中。尝试删除它并放入

android:layout_above="@+id/myLinearLayout"

在ImageZoomView中。当然,为您的LinearLayout提供相同的ID。