我创建了一个自定义视图,扩展了FrameLayout以创建我自己的图像按钮,并使用一种设置背景图像alpha的方法,并将此自定义视图的35个实例添加到我的片段中。
当我调用设置背景图像alpha的方法时,一切正常,但是当我尝试设置回原始背景图像时,所有按钮都具有前一个alpha的背景图像。为什么呢?
代码示例:
public void setState(NumberState state) {
Resources res = mContext.getResources();
Drawable drawable = null;
switch (state) {
case Normal:
drawable = res.getDrawable(R.drawable.number_button).getConstantState().newDrawable();
mImageView.setImageDrawable(drawable);
break;
case Wrong:
drawable = res.getDrawable(R.drawable.number_button).getConstantState().newDrawable();
drawable.setAlpha(80);
mImageView.setImageDrawable(drawable);
break;
default:
break;
}
}