使用底部对齐绘制平铺位图

时间:2012-10-09 13:29:56

标签: android android-layout user-interface bitmap android-bitmap

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

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

如您所知,定义tileMode时会忽略重力。我尝试创建自己的类,它继承自BitmapDrawable,但我无法取得成功。 请帮我申请这两个属性:tileMode和gravity。

1 个答案:

答案 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" />

如果您向我提供有关该问题的更多详细信息,我将继续并相应地编辑我的答案。