为什么相对布局中的图像带有“fill_parent”隐藏按钮?

时间:2015-05-16 02:34:36

标签: android image layout fill-parent

我正试图在相对布局中增加图像的大小。现在,它的宽度和高度设置为wrap_content。当我设置它们fill_parent时,图像会增长,但会将显示屏下方的按钮按下。相关的XML如下。我究竟做错了什么?

编辑:感谢所有答案,但到目前为止,如果我将图片的高度设置为fill_parentmatch_parent,它始终会延伸到显示屏的底部,无论是否按钮位于相对布局之内或之外。为什么相对布局会忽略它下面的内容?

<LinearLayout>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relativelayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/myImageView"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:src="@drawable/apple"
            android:alpha=".5"
            android:paddingBottom="0dp"
            android:adjustViewBounds="true" />
        <TextView
            android:id="@+id/myImageViewText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Sample"
            android:textColor="#000000"
            android:singleLine="true"
            android:layout_alignLeft="@+id/myImageView"
            android:layout_alignStart="@+id/myImageView"
            android:layout_alignParentTop="true" />


    </RelativeLayout>

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/enterPluButton"
        android:background="#FFBD5C"
        android:textColor="#000000"
        android:text="Submit" />
</LinearLayout>

4 个答案:

答案 0 :(得分:1)

  1. 设置android:layout_alignParentBottom="true"按钮。
  2. 为RelativeLayout设置android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/enterPluButton"
  3. 为ImageView
  4. 设置android:layout_width="match_parent" android:layout_height="match_parent"

答案 1 :(得分:0)

我现在明白你要做的事情。试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativelayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">


    <ImageView
        android:id="@+id/myImageView"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:adjustViewBounds="true"
        android:alpha=".5"
        android:paddingBottom="0dp"
        android:src="@drawable/apple" />

    <TextView
        android:id="@+id/myImageViewText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/myImageView"
        android:layout_alignParentTop="true"
        android:layout_alignStart="@+id/myImageView"
        android:gravity="center"
        android:singleLine="true"
        android:text="Sample"
        android:textColor="#000000" />

    <Button
        android:id="@+id/enterPluButton"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/myImageView"
        android:background="#FFBD5C"
        android:text="Submit"
        android:textColor="#000000" />

</RelativeLayout>

答案 2 :(得分:0)

在RelativeLayouts中,视图相对于“ViewGroup”的左上角定位。要使ImageView停止隐藏Button或任何其他视图,请添加layout_below属性。

<TextView
    android:layout_below="@+id/relativelayout"
    android:id="@+id/myImageViewText"
    android:layout_width="fill_parent"
    ...
/>

此外,对于ImageView,除非用于背景,否则不建议将layout_height设置为fill_parent或match_parent。

如果将Button放在相对布局中并将其放置在文本视图下,您将获得所需的结果。

答案 3 :(得分:0)

RelativeLayout位置View彼此相对。如果它与另一个孩子View没有关系,则会与父View计算RelativeLayout。这就是你拥有它的原因。为什么不将LinearLayout包裹在ScrollView中,或者将RelativeLayout赋予固定维度