今天敲代码的时候,发现获取一个控件的drawable,然后动态设置alpha之后,界面看起来总不是有一些说不出来怪异的地方。
/**
* 动画
*/{
//****一些逻辑
mToolbar.getBackground().setAlpha(alpha);
}
刚开始只觉得很怪,后来发现当前界面设置的背景跟这个设置alpha背景颜色一样的全部跟当初设定的不一样,
所以在网上找起了答案,终于在一篇博文总找到,所以记录一下解决办法。
1.可以在代码中 new ColorDrawable(int)来给需要设置的控件来设置背景色,这样就不会影响其他颜色相同的空间。
2.让一个 Drawable 变为 mutable 的。也就是mToolbar.getBackground().mutate().setAlpha(alpha);这样的形式。