gpt4 book ai didi

android - Glide - 加载 GIF 作为占位符

转载 作者:行者123 更新时间:2023-11-29 18:37:00 40 4
gpt4 key购买 nike

我在我的 Android 项目中使用 Glide,我有一个 RecyclerView,里面有一个 CardView 列表。我想做的是为每个 CardView 加载图像,同时显示 GIF 加载图像,直到加载真实图像。现在,如果它尝试加载 GIF 作为主图像,没问题:

Glide.with(context)
.load(R.raw.gif_loading_bar)
.into(imageView);

上面的代码工作正常并且 GIF 被加载。但是,当我尝试加载另一张图片并将 GIF 设为占位符时,Android Studio 显示错误 “Expected resource of type drawable”:

Glide.with(mContext)
.setDefaultRequestOptions(new RequestOptions()
.placeholder(R.raw.gif_loading_bar))
.load(imageUrl)
.into(imageView);

我应该怎么做才能解决这个问题?

最佳答案

Glide 支持 GIF 作为占位符。我最近遇到了这种情况并像下面这样解决了。希望它能帮助像我这样面临这种情况的人。

    var builder = Glide.with(mContext).load(path).apply(options).thumbnail(Glide.with(mContext).load(R.raw.loader2))
if (listener == null) {
builder = builder.addListener(object : RequestListener<Drawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {

//TODO; your code here
return false
}

override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
//TODO; your code here
return false
}
})
} else {
builder = builder.addListener(listener)
}
builder.into(myImageView)

What it does

它加载您的 gif 作为缩略图,直到从源下载图像。在 onResourceReady 方法中,它会在资源准备就绪时为您提供回调。确保将 gif 文件放在 R.raw 包下,不要放在 drawable 包下。如果您遇到任何问题,请告诉我。

关于android - Glide - 加载 GIF 作为占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916941/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com