我有两个图像 - 1)一个矩形图像,显示实际内容和2)带有圆角透明边角的白色图像
是否可以将图像1放在图像2中,保持其大小,但使其形状与2相同?
基本上我希望Image 2成为图像1的容器。
我已经尝试了图层和插图绘图,但图像1一直重叠图像2。
提前致谢!
更新1:
这是我的ImageView xml部分:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="72dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/avatar"
android:src="@drawable/mainImg"
android:background="@drawable/backgroundImg"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center"
android:contentDescription="@string/desc" />
</LinearLayout>
更新2:
以下是三张图片的链接 1)背景 2)主要形象 3)预期结果(带圆角)
答案 0 :(得分:4)
一个简单的解决方案是只使用一个ImageView
和android:background
用于您的image2,您说它是容器,而android:src
用于image1,这是实际图像:< / p>
<ImageView
...
android:background="@drawable/image2"
android:src="@drawable/image1"
android:padding="2dp" />
只需添加填充,即可指定要在“框架”和实际“图片”之间留出多少空白空间。
答案 1 :(得分:4)
我不得不用app I recently made处理这个问题。请注意,在第一个和第二个屏幕截图中,缩略图是如何构图的。
为了实现这一点,我在FrameLayout中将图像和框架堆叠在一起。首先,我布置实际图像(@ id / thumbnail),然后是框架(@ id / frame)。
需要注意的重要事项是缩略图使用的是scaleType“fitXY”,并且略有边距,因此角落不会在框架的圆角后面伸出。
这仅适用于框架边框不透明的情况,因此您可能必须使框架边缘与背景颜色相同。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/thumbnail_size"
android:layout_height="@dimen/thumbnail_size"
android:layout_margin="5dp"
android:gravity="center"
android:orientation="vertical"
>
<ImageView
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_margin="4dp"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pixel_frame"
android:scaleType="fitXY" />
</FrameLayout>
答案 2 :(得分:3)
使用ImageButton ..将Background设置为Image1,将Image src设置为Image2
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image2"
android:src="@drawable/image1" />