0

我想知道是否有任何简单的方法可以应用这种模式:

在此处输入图像描述

在此背景之上:

在此处输入图像描述

问题是 BG 有边界,所以图案不能超出边界或在边界之上。它必须正好在边界之内。也许这甚至是不可能的。

我想要达到的目标:

在此处输入图像描述

4

2 回答 2

0

为了达到您想要的结果,您可以执行以下操作:

1.创建一个FrameLayout并将黄色图像设置为背景,将其宽度和高度设置为match_parent

2.接下来,在步骤1ImageView中创建的内部放置一个FrameLayout并将灰度图像设置为this的来源ImageView,您可能想要创建一个透明的灰色图像(如果不是这个)以查看其背后的内容。也将它的宽度和高度设置ImageViewmatch_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>
于 2013-05-13T07:44:50.490 回答
0

您可以通过在 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"
        />
于 2013-05-13T07:53:01.880 回答