我有Button并为其设置了后台资源:
button1.setBackgroundResource(R.layout.color00);
color00:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/img00" />
<item
android:state_pressed="false"
android:drawable="@drawable/img00" />
</selector>
然后我将alpha设置为此按钮
button1.getBackground().setAlpha(50);
然后我有问题。如果我将此后台资源设置为button2:
button2.setBackgroundResource(R.layout.color00);
所以button1的alpha设置为button2与此资源的alpha。如何解决?
答案 0 :(得分:1)
使用mutate: http://developer.android.com/resources/articles/drawable-mutations.html
Drawables对所有引用使用相同的状态。用户Mutate()用于不同的状态。