Glide 在Android5.0以下 加载Vector 文件导致app崩溃

问题:项目中使用了Vector 文件并使用Glide 去加载图片 ,但是4.4手机在加载的时候就会出现异常。
异常信息:

Resources$NotFoundException: File res/drawable/logo.xml from drawable resource ID #0x7f0800b8. If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.

检查:

项目中build.gradle都配置好了:

defaultConfig {
    ....
    vectorDrawables.useSupportLibrary = true
    ....
}

也在BaseActivity中添加了

static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

但是问题依旧,所以应该是Glide 的兼容性问题。

处理方法:

需要将vector文件先抽取成drawable然后再加载,即可成功加载。

 Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.logo);

            Glide.with(mContext).load(item.getImg()).dontAnimate().error(drawable).into((AppCompatImageView)
                    helper.getView(R.id.addassets_token_img_iv));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值