Android 日常开发(29) QMUIRoundButton动态设置背景色导致圆角失效

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

前言

今天讲一讲QMUI里面的一些比较隐蔽的问题处理手段

需求描述

产品在一个列表里面通过产品的状态,修改按钮的值和颜色。这里为了减少drawable所以就使用了QMUI的RoundButtonUI组件,但是组里的小伙伴遇到了修改导致圆角效果失效的问题

小伙伴按照常规的思路通过设置背景颜色的方式修改了xml里面的qmuiBackground。这里既然组件的作者已经把背景色用别的属性名称代替了,肯定不能想当然啦

分析源码

在这里插入图片描述
这里放出源码给大家看一下

作者明确提出了直接使用setBackground方法会导致圆角失效,被背景色覆盖。并且提出了正确的设置背景颜色的方法

解决办法

   /**
     * 设置qmui背景色
     * @param qmuiRoundButton
     * @param color
     */
    private void setBgColorForQMUIRB(QMUIRoundButton qmuiRoundButton, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值