我知道很多次问过类似的问题,但这个问题有所不同。我有一个背景图片,我应该将它用于ImageViews。图片不是矩形且不透明,您可以从here查看,或参见下面s http://i57.tinypic.com/2j1qx5t.jpg
这是我尝试过的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#999999"
android:padding="10dp"
android:gravity="center">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="170dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rounded_background"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/random_pic"
android:scaleType="fitXY"/>
</FrameLayout>
</LinearLayout>
,结果如下:
http://i59.tinypic.com/308w0v8.png
当我删除ImageView结果时:
http://i58.tinypic.com/yf0np.png
如您所见,ImageView与背景的形状不同。我也尝试了几种不同的方法,比如
将背景直接放到ImageView或
将视图更改为ImageView并使用圆角图像作为背景或源图像
如果不更改rounded_background.png文件本身就无法实现,对吧?因为我知道,如果背景是透明的,它就会起作用。
由于
编辑:如果不更改图片,则无法实现此目的。如果想要学习实现这一目标的唯一方法,他/她应该看到接受的答案。
答案 0 :(得分:0)
这是您的问题解决方案。
将主图像设置为FrameLayout背景图像。
此背景为ImageView背景图片。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="170dp"
android:background="@drawable/randominage">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rounded_background"
android:scaleType="fitXY" />
</FrameLayout>