绘制底部对齐的平铺位图



我想画一幅有渐变背景的图像。我已经创建了一个可绘制的位图资源,如下面的

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/bg"
android:tileMode="repeat"
android:gravity="bottom"
/>

如您所知,在定义波浪模式时,重力将被忽略。我尝试创建自己的类,它继承自BitmapDrawable,但我没能成功。请帮助我应用这两个属性:波浪模式和重力。

我没有弄清楚这个问题。这里的目标是什么?

它是否使用了带有tileMode的渐变图像(如.png.jpg)?

还是使用了透明图标并使其成为背景渐变?

此外,当你使用tileMode时,为什么需要重力?tileMode意味着用相同的图像平铺位图的整个区域。由于它将对整个图像进行处理,因此在该图像上没有重力,因为所有图像都将被填充。

如果目标是在屏幕的某些部分使用此可绘制位图,请将其添加到您的布局中:

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/mydrawablebitmap"
android:id="@+id/imageview1" />

您可以将其放在layout.xml中,设置自己的宽度和高度,并根据自己的喜好对齐。

如果目标是使用图像并制作其背景,这里是你使用它的方法:

在可绘制的文件夹中创建gradient.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#E0E0E0"
android:endColor="#FFFFFF"
android:angle="-90"/>
</shape>

然后将此图像视图添加到您的布局中:

<ImageView
android:id="@+id/myimagewithgradientbackground"
android:layout_width="match_parent"
android:layout_height="160dp"
android:background="@drawable/gradient"
android:src="@drawable/foregroundimage" />

如果你给我更多关于这个问题的细节,我会继续编辑我的答案。

最新更新