我在.gif文件
上的Firebase存储中有链接String gifUrl = "https://firebasestorage.googleapis.com/v0/b/rokitskiydev-a18ca.appspot.com/o/WF%2F10-16-02-Digital-15.gif?alt=media&token=0354f6e6-4292-4911-9302-49281d293a80";
我尝试使用Picasso和Glide。但是我只能显示这个gif的图像。
GlideApp.with(context).load(gifUrl).into(ImageView);
如果我得到另一个链接,示例http://i.imgur.com/1ALnB2s.gif
就可以了!
我该怎么做?
答案 0 :(得分:0)
正如Glide Documentation所说,
您可以使用.asGif()
强制库加载动画gif,如果不是,则会失败:
Glide.with(activity).load(gifUrl).asGif().into(view);
试试这个
检查文档:https://futurestud.io/tutorials/glide-displaying-gifs-and-videos
同样,FirebaseDoc说你可以这样做来加载带滑动的图像/ gif
首先在build.gradle中声明这个
dependencies {
// FirebaseUI Storage only
compile 'com.firebaseui:firebase-ui-storage:0.6.0'
}
然后
这是用firebase加载你的图像
// Reference to an image file in Firebase Storage
StorageReference storageReference = ...;
// ImageView in your Activity
ImageView imageView = ...;
// Load the image using Glide
Glide.with(this /* context */)
.using(new FirebaseImageLoader())
.load(storageReference)
.into(imageView);
如果您需要图片/ gif文件的网址,则可以执行此操作
storageRef.child("your/firebase/imagepath.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// Got the download URL for 'users/me/profile.png'
Uri downloadUri = taskSnapshot.getMetadata().getDownloadUrl();
generatedFilePath = downloadUri.toString(); /// The string(file link) that you need
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle any errors
}
});
答案 1 :(得分:-1)
获取gif的 downloadUrl ,然后使用它来加载带Glide的gif。
ImageView imageView = (ImageView) findViewById(R.id.imageView);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView);
Glide.with(this).load(downloadUrl).into(imageViewTarget);
对于较新版本的Glide,请尝试以下方法:
Glide.with(context)
.load(imageUrl)
.asGif()
.placeholder(R.drawable.loading2)
.crossFade()
.into(imageView);