结合安卓视图的背景颜色和纹理



对于Android中的各种View,到目前为止,我使用了简单的背景色。但为了让它更有趣,我想在背景中添加纹理或噪点。

查找背景图案很容易。并将它们制作成平铺BitmapDrawable以用作背景:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/pattern"
    android:tileMode="repeat" />

但是我现在如何添加颜色呢?你知道,我想将纹理与颜色组合在一起,这样我就只有纹理的图案并"忽略"或"删除"颜色,而是使用代码中的任意颜色为图案着色。这怎么可能?

我是否必须正常使用模式,但随后覆盖视图的onDraw()方法并以某种方式添加颜色?这个答案谈到了一个BitmapShader,但我不知道如何使用它。有什么帮助吗?

使用

Drawable.setColorFilter() 方法。 在大多数情况下,您将使用 PorterDuffColorFilter 或 LighingColorFilter

最新更新