开发中遇到过一个很纠结的问题
android5.0以上的系统在界面上,偶尔出现白色背景变成透明的状况,并且引发很多界面出现颜色错乱。
原来罪魁祸首在这里
旧的:
btn.getBackground().setAlpha(255);
新的:
btn.getBackground().mutate().setAlpha(255);
其中mutate()方法是:如果有多个控件或是界面同时引用某一个资源,并且要改变该资源的状态时就需要用mutate方法。使用mutate是为了更改一个资源的状态时,其余引用该资源的控件不会也更改状态。