android imageview图片崩溃,Android ImageView selector图片,8.0遇到的坑

selector设置两个大小不一样的状态图

guide_dot_on.png 宽高:30x30

46b164b017ba

guide_dot_on.png

guide_dot_right.png 宽高:17x27

46b164b017ba

guide_dot_right.png

8.0系统会出现以下情况,切换的时候,图片显示大小和原来不一致的问题:

46b164b017ba

guide.gif

原因通过debug源码发现:

46b164b017ba

image.png

8.0系统每次切换,这个地方w和mDrawableWidth,h和mDrawableheight的值始终一样,导致没有执行requestLayout()方法

5.0系统以及之前则没有这个问题,引起解决办法是每次setSelected()之后,手动调用一次requestLayout()方法,便可解决问题

目前我手头三台8.0系统手机小米Mix2,华为,oppo R15均出现此问题, 6.0和7.0系统尚未测试

以上仅为个人测试结果,如果有误,欢迎提出问题,并进行文章修复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值