今天我正在尝试在我的Android应用程序中使用Glide
图像加载器,而使用这个我面对的方法没有解决问题。
Glide
.with(this)
.load(R.drawable.image_default_profile_picture)
.into(mUserImage);
这段代码工作得很好。但是当我尝试这个时
Glide
.with(this)
.load(R.drawable.image_default_profile_picture)
.placeholder(R.mipmap.ic_launcher)
.fitCenter()
.into(mUserImage);
然后这句话无法解决方法fitCenter()
,placeholder
。
我缺少什么?
答案 0 :(得分:99)
似乎更新的库有任何问题。添加 init(dictionary: [String:Any]) {
self.title = dictionary["title"] ?? ""
}
以继续使用最新版本。
<强> CODE 强>
.apply(new RequestOptions()
答案 1 :(得分:44)
您仍然可以将RequestOption
与最新版本的Glide一起使用,您只需将其添加为方法链中应用的Glide.with(this)
.load(floorplanUrl)
.apply(new RequestOptions()
.placeholder(R.drawable.floorplan_unavailable))
.into(floorplanImageView);
,即
A <-- B <-- C (master)
\
\
D (feature)
答案 2 :(得分:37)
如果您使用Glide包依赖compile 'com.github.bumptech.glide:glide:3.7.0'
而不是使用下面的代码
Glide
.with(your_context)
.load(image_url)
.centerCrop()
.placeholder(R.drawable.image_loading)
.error(R.drawable.image_error)
.into(imageView);
注意:与doc中一样 圆形图片:CircleImageView / CircularImageView / RoundedImageView是 已知与TransitionDrawable(.crossFade()有问题 .thumbnail()或.placeholder())和动画GIF,使用 BitmapTransformation(.circleCrop()将在v4中提供)或 .dontAnimate()来解决问题。
最新更新版本compile 'com.github.bumptech.glide:glide:4.1.1'
或以上,而不是使用以下代码
Glide.with(your_context)
.load(url)
.apply(new RequestOptions()
.placeholder(R.mipmap.ic_loading_image)
.centerCrop()
.dontAnimate()
.dontTransform())
.into(imageView);
如果您想使用GIF File
加载Glide
到compile 'com.github.bumptech.glide:glide:3.7.0'
,请使用 .asGif()
方法的 .load()
强>
Glide
.with(your_context)
.load(image_url)
.asGif()
.into(imageView);
如果您使用compile 'com.github.bumptech.glide:glide:4.1.1'
或更高(最新)的依赖关系,
Glide
.with(your_context)
.asGif()
.load(image_url)
.into(imageView);
注意:如果您使用
的最新版本glide:glide:4.1.1
或更高版本的版本而不是使用 .asGif()方法加载GIF
文件将 自动加载GIF File
答案 3 :(得分:15)
对于从v4.0开始使用Glide版本的fitCenter()
和其他比例类型更改,您需要在应用中包含特殊类。
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
}
在重建项目之后,您可以开始以这种方式使用Glide
GlideApp.with(imageView)
.load("...")
.fitCenter()
.into(imageView);
答案 4 :(得分:4)
滑行版本:4.8.0
Glide.with(this)
.load("https://media.giphy.com/media/98uBZTzlXMhkk/giphy.gif")
.apply(new RequestOptions()
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.centerCrop()
.fitCenter())
.into(imageView);
答案 5 :(得分:1)
如果您仍想使用最新的库'com.github.bumptech.glide:glide:4.0.0-RC1'
,The official Github page建议如下:
圆形图片:CircleImageView / CircularImageView / RoundedImageView是 已知与TransitionDrawable( .crossFade()有问题 .thumbnail()或.placeholder())和动画GIF,使用 BitmapTransformation( .circleCrop()将在v4中提供)或 .dontAnimate()来解决问题。
否则使用以下库版本:
compile 'com.github.bumptech.glide:glide:3.7.0'
答案 6 :(得分:-1)
编译这个库: -
compile 'com.github.bumptech.glide:glide:3.7.0'