Glide无法解决其方法

时间:2017-05-26 10:07:04

标签: android android-glide

今天我正在尝试在我的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。 我缺少什么?

7 个答案:

答案 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 加载Glidecompile '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

     

请参阅 glide, Bug fixes, Features

的最新版本

答案 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);

Documentation

答案 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'