1

我们有一个带有背景图像的 imageview,我们希望将一个 ImageView 放在 textview 上方,作为相对于 ImageView 大小居中的前景“图像”。

        selectedImageView = (ImageView) view.findViewById(R.id.selectedImage);
        selectedImageView.setBackgroundResource(R.drawable.back_item);
        selectedImageView.setImageResource(R.drawable.icon_alarm);

上面的代码使前景图像拉伸到 ImageView 的大小,但我们希望前景位于背景圆圈的“内部”。

如果使用填充,则可能存在不同屏幕尺寸的问题。

前景图像应缩放到 ImageView 大小的高度和宽度的 50%,并且 textview 应放置在前景图像下方。

黑色外方块:imageview边界,黑色圆圈:背景图片,读取方块:前景图片,蓝色矩形:前景文字

黑色外方块:imageview边界,黑色圆圈:背景图片,读取方块:前景图片,蓝色矩形:前景文字

4

1 回答 1

0

这很重,但是使用这种布局应该可以工作:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/background"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"

        android:src="@drawable/ic_action_search" />

    <ImageView
        android:id="@+id/foreground"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

希望它会有所帮助

于 2013-09-13T18:16:28.540 回答