Resources$NotFoundException Resource is not a Drawable (color or path) 问题解决

Resources$NotFoundException: Resource is not a Drawable (color or path) 问题解决


作为一个新手,最近在写自定义视图的时候出现了如下的问题

Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.flowlayout:drawable/shape_button_circular" (7f060063)  is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060063 a=-1 r=0x7f060063}

App运行的时候的现象是应用直接闪退

以为是android-studio的常见抽风,clean project或者invalidate caches/restart这些操作都已经操作过了,发现依然不行。

然后就注意到了drawable后面的(v24后缀),感觉很可能是真机的版本问题,尝试新建一个同名的drawable然后将目标目录设置到如下文件夹(drawable)下即可
在这里插入图片描述
我是这么理解的,Android每个版本都会推出一定的新的特性,然后为了适应这些特性,会对drawable这类的资源问题添加特定的新的标签<tag></tag>。但是很明显,这些标签很可能不能像低版本兼容。所以面对这样的情况,只能对于特定的版本专门定义一个目录来存储对应的素材,就像此处的drawable-v24。app在运行的时候会根据当前运行的系统android-sdk版本来到对应的素材版本文件夹下去查找对应的素材。

所以这里我的真机的版本要低于7.0也就是低于v24版本,所以他会直接到drawable文件夹而不是drawable-v24文件夹中去寻找对应的资源文件,当然就找不到了,从而就会报出Resources$NotFoundException(找不到资源)的问题。


感谢和参考

关于drawable和drawable-v24_移动开发_lyblyblyblin的博客-CSDN博客
Adaptive icon 一 :理解 Android 的「自适应图标」

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值