我想将gif加载到imageview中,它会显示但不会开始播放。我使用这段代码:
Glide.with(context)
.load("https://media.giphy.com/media/7rj2ZgttvgomY/giphy.gif")
.into(imageView)
我也尝试添加.asGif()
,但在这种情况下,图片根本不显示。我正在使用滑行3.8.0
答案 0 :(得分:1)
试试这个。
Glide.with(context)
.load(imageUrl)
.asGif()
.placeholder(R.drawable.loading2)
.crossFade()
.into(imageView);
答案 1 :(得分:0)
您也可以尝试
Glide
.with(context)
.load(gifUrl)
.asGif()
.error(R.drawable.full_cake)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)`
.into(imageViewGif);
答案 2 :(得分:0)
将您的gif更改为 https://i.giphy.com/media/7rj2ZgttvgomY/giphy.webp
Glide.with(context)
.load("https://i.giphy.com/media/7rj2ZgttvgomY/giphy.webp")
.asGif().into(imageView);
您也可以尝试GIFView
答案 3 :(得分:0)
您可以参考:here
如果您找不到,可以更改最新版本的Gline
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
dependencies {
compile 'com.github.bumptech.glide:glide:4.2.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
}
我希望你能找到解决方案。
答案 4 :(得分:0)
您的代码没有任何问题。您可以检查是否拥有Internet
权限。
<uses-permission android:name="android.permission.INTERNET" />
您的互联网速度可能会很慢而且Glide
可能需要花费太多时间来加载,所以到那时您可以使用以下方式添加占位符图片:
.placeholder(android.R.color.holo_green_dark)
或者您可以使用
将Listner
添加到Request
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
看看Exception
是什么。
答案 5 :(得分:0)
就我而言,我已将 imageview 尺寸设置为 match_parent 并在 dp 中指定它为我做了。
不确定为什么 match_parent 在对话框中不起作用,播放 GIF,可能与缩放有关,如果是这种情况,则使用 scaleType:fitXY 也应该起作用