在我的应用程序中,我需要更改按钮的背景颜色以响应某些事件。通过设置创建可绘制对象,设置其绘制并将该可绘制对象用作按钮背景,这可以正常工作:
ShapeDrawable drawable = new ShapeDrawable(roundRectShape);
drawable.getPaint().setColor(color);
b.setBackground(drawable);
现在,我想在该可绘制对象上覆盖一个 alpha 蒙版,创建一个“条纹”按钮。以下是蓝色和黑色按钮的外观(假设背景颜色为白色,但这些部分实际上应该是 100% 透明的):
我在 Inkscape 中制作了这个 alpha 蒙版,并成功将其作为矢量资产导入。我可能需要将其转换为某种位图,但我不确定。
我已经阅读了一堆文章和提到要应用 PorterDuff 矩阵的 SO 问题,但无法将这些转化为解决我当前的问题。
有人知道怎么做吗?
这是另一个可视化,希望能让事情更清楚。此处按钮的父视图的背景颜色为淡粉色,按钮边框以红色勾勒(但在最终产品中应该是不可见的):