【问题标题】:Glide placeholder vector drawable resource not found exceptionGlide 占位符矢量可绘制资源未找到异常
【发布时间】:2016-05-18 11:32:05
【问题描述】:

最近我想在我的工作中添加Vector Drawable。我正在使用 glide 来设置我的drawables。这是我的代码:

Glide
                .with(mContext)
                .load(resDrawable)
                .placeholder(placeHolderResDrawable)
                .centerCrop()
                .bitmapTransform(new CropCircleTransformation(MyLruBitmapPool.getInstance()))
                .into(imgRoundedView);

在这里,我将vector drawable 放入resDrawableplaceHolderResDrawable。它在 Lolipop 设备中运行良好。但是当我在 less than lolipop 中对其进行测试时,它就崩溃了。当尝试将drawable 放入placeholder 时,它给出了Resources$NotFoundException

这是崩溃报告:

android.content.res.Resources$NotFoundException:来自可绘制资源 ID #0x7f02013d 的文件 res/drawable/default_round_profile.xml 在 android.content.res.Resources.loadDrawable(Resources.java:3451) 在 android.content.res.Resources.getDrawable(Resources.java:1894) 在 com.bumptech.glide.request.GenericRequest.getPlaceholderDrawable(GenericRequest.java:395) 在 com.bumptech.glide.request.GenericRequest.begin(GenericRequest.java:265) 在 com.bumptech.glide.manager.RequestTracker.runRequest(RequestTracker.java:36) 在 com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:616) 在 com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:652) 在 com.bumptech.glide.DrawableRequestBuilder.into(DrawableRequestBuilder.java:436)

【问题讨论】:

  • 发布你的 default_round_profile.xml 代码
  • 检查v21文件夹中是否有占位符
  • 正如我所说,这在棒棒糖中工作,但在下面的棒棒糖中崩溃了。 @ankit 我放入默认的可绘制文件夹
  • 在棒棒糖之前不支持矢量绘制

标签: android android-glide android-vectordrawable


【解决方案1】:

尝试使用ContextCompat 获取drawable 并将其设置为占位符:

ContextCompat.getDrawable(mContext, placeHolderResDrawable);

原来是这样:

Glide.with(mContext)
     .load(resDrawable)
     .placeholder(ContextCompat.getDrawable(mContext, placeHolderResDrawable))
     .centerCrop()
     .bitmapTransform(new CropCircleTransformation(MyLruBitmapPool.getInstance()))
     .into(imgRoundedView);

Glide v4 更新:

Glide.with(mContext)
     .load(resDrawable)
     .apply(new RequestOptions()
         .placeholder(ContextCompat.getDrawable(mContext, placeHolderResDrawable))
         .centerCrop()
         .transform(new CropCircleTransformation(MyLruBitmapPool.getInstance())))
     .into(imgRoundedView);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 2020-02-12
    • 2015-11-21
    相关资源
    最近更新 更多