Android给背景颜色设置Alpha 的坑

今天敲代码的时候,发现获取一个控件的drawable,然后动态设置alpha之后,界面看起来总不是有一些说不出来怪异的地方。

/**
                 * 动画
                 */{
                     //****一些逻辑
                    mToolbar.getBackground().setAlpha(alpha);
                }

刚开始只觉得很怪,后来发现当前界面设置的背景跟这个设置alpha背景颜色一样的全部跟当初设定的不一样,
所以在网上找起了答案,终于在一篇博文总找到,所以记录一下解决办法。

1.可以在代码中 new ColorDrawable(int)来给需要设置的控件来设置背景色,这样就不会影响其他颜色相同的空间。
2.让一个 Drawable 变为 mutable 的。也就是mToolbar.getBackground().mutate().setAlpha(alpha);这样的形式。

参考博文地址

你可能感兴趣的:(Android给背景颜色设置Alpha 的坑)