我正在编写一个应用程序,其中我在图像按钮上有一个图标,看起来像一个带有油漆的画笔。当用户改变颜色时,我希望刷子上的颜料变为所选颜色。
我尝试将图标的颜色涂成白色并着色图像按钮,但这只是整个画笔图像的色调。我也试过setColorFilter()但没有成功。任何人都知道如何在不为每种颜色创建可绘制资源的情况下实现这一目标吗?
编辑: 也许我应该澄清一下,
由于
答案 0 :(得分:2)
呀。可以使用白色图像。图像的设计应使刷子图标中的颜色区域单独为白色。然后,您可以在图像上应用colorFilter,将白色单独更改为任何其他颜色(可能是用户选择的颜色)
imageBtn.getDrawable().setColorFilter(0xffff0000, PorterDuff.Mode.MULTIPLY);
以下这个适用于背景
imageBtn.getBackground().setColorFilter(0xffff0000, PorterDuff.Mode.MULTIPLY);
我用棋盘图像尝试了它,它有白色和黑色方块,我可以用colorFilter将白色方块改成任何颜色。
肯定会有所帮助。