设置drawable的alpha

时间:2014-05-29 11:18:17

标签: android

我创建了一个自定义视图,扩展了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;
        }
    }

0 个答案:

没有答案