android.content.res.Resources$NotFoundException: File res/drawable/ripple_round_blue.xml

详细错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.demo.xxx/com.demo.xxx.ui.login.LoginActivity}: android.view.InflateException: Binary XML file line #195: Error inflating class Button

导致原因:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ripple_round_blue.xml from drawable resource ID #0x7f02010b
1、刚开始以为对应xml布局文件对应的button的id写错了,在activity当中找不到,检查发现,发现id是对的
2、然后想到会不会是button的id名字和drawable当中的命名冲突,于是又把button的id名字换了一个,运行发现依然不行,顺着错误下方找,发现下面如下图的错误
这里写图片描述
看到的第一反应是以为自己大意了 ripple_round_blue.xml布局文件没有写,查找发现,写了
那会是什么问题呢?
既然找不到,那么我是否可以把布局文件当中Button引用的ripple_round_blue.xml资源文件去掉呢?去掉运行,程序可以跑起来?
既然找不到,要么就是没写,再者其他情况就是不兼容,人家Button压根不支持,所以才提示找不到,再次返回仔细查看资源文件ripple_round_blue.xml,如下图:
这里写图片描述
是的,没错,ripple,这个只在Android5.0以上版本出现,5.0以下的版本都不支持
当然这个资源文件放到drawable-v21是可以的,如下图:
这里写图片描述
于是乎,把drawable目录下的资源文件ripple_round_blue.xml改成shape,如下图:
这里写图片描述
运行,OK
这里还是有遗憾,本意是想做控件水波纹效果,但是坑爹的Android低版本不兼容高版本的特性ripple,
待续,研究下,看有无通用的selector来实现通用的水波纹效果……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值