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

时间:2014-02-14 07:40:03

标签: android background textures android-drawable

对于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,但我不知道如何使用它。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

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