前言
今天讲一讲QMUI里面的一些比较隐蔽的问题处理手段
需求描述
产品在一个列表里面通过产品的状态,修改按钮的值和颜色。这里为了减少drawable所以就使用了QMUI的RoundButtonUI组件,但是组里的小伙伴遇到了修改导致圆角效果失效的问题
小伙伴按照常规的思路通过设置背景颜色的方式修改了xml里面的qmuiBackground。这里既然组件的作者已经把背景色用别的属性名称代替了,肯定不能想当然啦
分析源码
这里放出源码给大家看一下
作者明确提出了直接使用setBackground方法会导致圆角失效,被背景色覆盖。并且提出了正确的设置背景颜色的方法
解决办法
/**
* 设置qmui背景色
* @param qmuiRoundButton
* @param color
*/
private void setBgColorForQMUIRB(QMUIRoundButton qmuiRoundButton,