在我正在开发的一个应用程序中,我试图以编程方式创建一个
如果我使用
这会防止我的克隆按钮将其
ImageButton
,它是所选ImageButton
的副本,但图像以不同的方式上色,比如变成红色。如果我使用
PowerDuff.Mode.MULTIPLY
:clonebutton.getDrawable().setColorFilter(0xFFFF0000,Mode.MULTIPLY);
那么,即使原始的ImageButton
改变颜色为红色,因为它们共享相同的drawable
。有没有办法只在克隆按钮上应用过滤器,而不使用两个不同的drawables
?例如,是否可能以某种方式在clonebutton上放置一个着色图层,而不编辑drawable
?
更新 我将可绘制对象设置为可变:
Drawable d = swipebutton.getDrawable();
d.mutate();
d.setColorFilter(0xFFFF0000,Mode.MULTIPLY);
swipebutton.setImageDrawable(d);
这会防止我的克隆按钮将其
drawable
的状态与其他views
共享。