对于Android中的各种View
,我到目前为止使用的是简单的背景颜色。但为了使它更有趣,我想在背景中添加纹理或噪点。
查找background patterns很简单。并将它们制作成平铺的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()
方法并以某种方式添加颜色? This answer谈到BitmapShader
,但我不知道如何使用它。有什么帮助吗?
答案 0 :(得分:1)
使用Drawable.setColorFilter()方法。在大多数情况下,您将使用PorterDuffColorFilter或LighingColorFilter