错误:(35,24)错误:在最新的Glide中找不到符号方法crossFade()

时间:2018-02-08 04:57:35

标签: android android-glide

我有一个使用Glide 3.5.2的旧项目。以下工作正常。

    Glide.with(context)
            .load(url)
            .override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX)
            .crossFade()
            .placeholder(placeholder)
            .into(imageView);

但是,现在我将我的Glide更新为4.5.0。抱怨

Error:(35, 24) error: cannot find symbol method override(int,int)

我试过回答 解决overide(int,int)问题的Glide-4.0.0 Missing placeholder, error, GlideApp。但随后crossfade()成为问题。

我尝试的方式如下......

    Glide.with(context)
            .load(url)
            .apply(new RequestOptions().override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX).placeholder(placeholder))
            .crossFade()
            .into(imageView);

    Glide.with(context)
            .load(url)
            .apply(new RequestOptions().override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX).placeholder(placeholder).crossFade())
            .into(imageView);

两者都不起作用。抱怨

Error:(51, 17) error: cannot find symbol method crossFade()

我如何申请.crossFade()

3 个答案:

答案 0 :(得分:3)

FYI 最新dependencies

implementation 'com.github.bumptech.glide:glide:4.6.1'
  

修改

Cross fades

Glide v3 不同, Glide v4 默认情况下不会对请求应用交叉淡入淡出或任何其他转换。必须手动应用过渡。

要将交叉淡入淡出过渡应用于特定负载,您可以使用:

import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;

Glide.with(this)
            .load("https://i.stack.imgur.com/7CChZ.jpg?s=328&g=1")
            .transition(withCrossFade())
            .apply(new RequestOptions().override(100, 100)
                    .placeholder(R.drawable.ic_launcher_background)
                    .error(R.drawable.ic_launcher_background).centerCrop()
            )
            .into(imageView);

答案 1 :(得分:0)

要将交叉淡入淡出过渡应用于特定负载,可以使用:

import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;

Glide.with(fragment)
      .load(url)
      .transition(withCrossFade())
      .into(imageView);

或:

Glide.with(fragment)
  .load(url)
  .transition(
      new DrawableTransitionOptions
        .crossFade())
  .into(imageView);

答案 2 :(得分:0)

我的建议是最好的

Glide.with(fragment)
  .load(url)
  .transition(
      new DrawableTransitionOptions
        .crossFade())
  .into(imageView);