我想用渐变背景绘制图像。我已经创建了一个可绘制的位图资源,如下面的
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/bg"
android:tileMode="repeat"
android:gravity="bottom"
/>
如您所知,定义tileMode时会忽略重力。我尝试创建自己的类,它继承自BitmapDrawable,但我无法取得成功。 请帮我申请这两个属性:tileMode和gravity。
答案 0 :(得分:0)
我不明白这个问题。这里的目标是什么?
是否使用带有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中并设置自己的宽度和高度,并根据自己的喜好进行对齐。
如果目标是使用图像并在此处制作背景,那么您将如何使用它:
在drawable文件夹中创建一个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添加到您的布局:
<ImageView
android:id="@+id/myimagewithgradientbackground"
android:layout_width="match_parent"
android:layout_height="160dp"
android:background="@drawable/gradient"
android:src="@drawable/foregroundimage" />
如果您向我提供有关该问题的更多详细信息,我将继续并相应地编辑我的答案。