前言
今天讲一讲QMUI里面的一些比较隐蔽的问题处理手段
需求描述
产品在一个列表里面通过产品的状态,修改按钮的值和颜色。这里为了减少drawable所以就使用了QMUI的RoundButtonUI组件,但是组里的小伙伴遇到了修改导致圆角效果失效的问题
小伙伴按照常规的思路通过设置背景颜色的方式修改了xml里面的qmuiBackground。这里既然组件的作者已经把背景色用别的属性名称代替了,肯定不能想当然啦
分析源码

这里放出源码给大家看一下
作者明确提出了直接使用setBackground方法会导致圆角失效,被背景色覆盖。并且提出了正确的设置背景颜色的方法
解决办法
/**
* 设置qmui背景色
* @param qmuiRoundButton
* @param color
*/
private void setBgColorForQMUIRB(QMUIRoundButton qmuiRoundButton, int color

本文介绍了在Android开发中,使用QMUI的QMUIRoundButton组件时遇到的圆角失效问题。当通过设置背景颜色导致圆角效果消失,作者分析了源码并指出直接使用setBackground方法的错误。正确方法是利用ColorStateList来设置背景颜色,同时文章提及在开发过程中的一个小插曲——与Node.js后端接口联调时的null值转换问题。
最低0.47元/天 解锁文章
3885





