如果我从 Button.getBackground() 在具有选择器可绘制对象的按钮上设置可绘制对象,然后在具有相同可绘制对象的另一个按钮上调用 set setBackgroundDrawable,则选择器状态不起作用。
例子:
//layout is inflated from XML
//buttonA object ref set from view
//buttonB object ref set from view
drawableA = buttonA.getBackground();
drawableB = buttonB.getBackground();
现在调用buttonA.setBackgroundDrawable(drawableB)
将导致 buttonA 在不同的选择器状态下无法正确动画。
难道我做错了什么?我尝试调用 getConstantState().newDrawable(getResources()).mutate() 来制作类似于可绘制对象的副本,以防状态绑定到原始按钮,但这似乎没有帮助。