ImageView中加载的图像隐藏了该按钮

时间:2014-05-29 13:00:46

标签: android xml button layout imageview

当我在ImageView中加载图像(更具体地说,是肖像形状的图像)时,该图像有时会覆盖Button上方的ImageViewImageView已将layout_widthlayout_height设置为wrap_content。我的要求是ImageView将包装内容,但不会掩盖按钮。我不想硬编码像素值。

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="mg.colorfilters.ResultActivity$PlaceholderFragment" >

    <Button
        android:id="@+id/button1"
        android:layout_width="320dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@color/red"
        android:text="@string/string3"
        android:textStyle="bold"
        android:textColor="@color/white"
        android:onClick="loadImageWithFilterOrSaveImage" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/abc_ab_bottom_solid_dark_holo"
        android:contentDescription="@string/string4" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

您希望您的图片位于中心位置吗?

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

如果是,那么可能想把你的Button代码放在​​ImageView代码下面,比如

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:src="@drawable/abc_ab_bottom_solid_dark_holo"
    android:contentDescription="@string/string4" />

<Button
    android:id="@+id/button1"
    android:layout_width="320dp"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:background="@color/red"
    android:text="@string/string3"
    android:textStyle="bold"
    android:textColor="@color/white"
    android:onClick="loadImageWithFilterOrSaveImage" />

这样按钮将始终位于顶部。如果图像很大,按钮将在其顶部可见。仅当您对此行为没有问题时才使用此解决方案。

答案 1 :(得分:0)

在您的Layout.xml中 请在android:layout_above="@+id/button1代码中插入<ImageView>行。

答案 2 :(得分:0)

你可以在相对布局中使用滚动视图,并在滚动视图中使用垂直方向的线性布局...然后在线性布局中添加你的按钮和imageview .....我没试过这个,但我想这会工作:D