我想知道是否有任何简单的方法可以应用这种模式:
在此背景之上:
问题是 BG 有边界,所以图案不能超出边界或在边界之上。它必须正好在边界之内。也许这甚至是不可能的。
我想要达到的目标:
为了达到您想要的结果,您可以执行以下操作:
1.创建一个FrameLayout
并将黄色图像设置为背景,将其宽度和高度设置为match_parent
。
2.接下来,在步骤1ImageView
中创建的内部放置一个FrameLayout
并将灰度图像设置为this的来源ImageView
,您可能想要创建一个透明的灰色图像(如果不是这个)以查看其背后的内容。也将它的宽度和高度设置ImageView
为match_parent
。
3.设置合适的版面边距,ImageView
以正确处理黄色图像的边框。
像这样的东西:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/yellow_image" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/gray_semitransperent_image"
android:layout_margin="3dp" />
<FrameLayout>
您可以通过在 drawable 文件夹中创建一个 xml 文件来使用Layer-List 。它与背景可绘制对象一样易于使用。让我们在drawable文件夹中创建一个文件名bg.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="1dp" android:left="1dp" android:bottom="1dp" android:right:"1dp">
<bitmap android:src="@drawable/pattern"
android:gravity="center"
android:tileMode="repeat" />
</item>
<item>
<bitmap android:src="@drawable/border"
android:gravity="center" />
</item>
</layer-list>
在上面的行中,我们添加了一个重复和偏移为 1 dp 的位图(或任何适合您的),第二个是您的位图,它是 9 个补丁图像。(您可能需要更改他们的顺序以使其他项目可见,因为我目前没有日食) 并在您的视图中使用它,请执行以下操作。
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg"
/>