Android布局和缩放ImageView问题

时间:2012-07-04 20:41:52

标签: android layout imageview scaling

我正在努力实现某些目标,我认为这很容易,但已经研究了负载并且仍在努力。

我正在设置一个ImageView,它将充当背景,其中部分图像是按钮应位于顶部的区域。例如,背景看起来有点像这样:

Background

设置为fitCenter,以便在所有屏幕类型上按正确的宽高比进行缩放,如下所示:

Background resized

现在我试图将ImageButtons放在白色区域上,如下所示:

Buttons over white areas

我正在尝试将每个Imagebutton对齐到背景imageView的左上角,然后设置边距以使其位于正确的位置。这适用于某些屏幕类型,但是当背景调整大小因为设备小于背景图像时,例如我发现顶部的按钮不会随之调整大小,所以我得到如下效果:

enter image description here

这是我正在尝试的布局类型(这里只有一个按钮):

<RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/outer" xmlns:tools="http://schemas.android.com/tools">
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:src="@drawable/no_pills_pane" android:scaleType="fitCenter" android:adjustViewBounds="true" android:layout_centerVertical="true" android:layout_centerHorizontal="true"/> 
<ImageButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageButton1" android:src="@drawable/pill_pink" android:scaleType="fitXY" android:background="@null" android:layout_marginTop="50dp" android:layout_marginLeft="44dp" android:layout_alignTop="@id/imageView1" android:layout_alignLeft="@id/imageView1"/>
</RelativeLayout>

我确信必须有一个更简单的方法来解决这个问题,非常感谢任何帮助。

由于 西蒙

1 个答案:

答案 0 :(得分:0)

如果您只需要在ImageView中居中ImageButton,只需将alignBottom,alignLeft,alignRight,alignTop设置为ImageView

android:layout_alignBottom="@+id/imageView1"
android:layout_alignLeft="@+id/imageView1"
android:layout_alignRight="@+id/imageView1"
android:layout_alignTop="@+id/imageView1"