【问题标题】:Error:(35, 24) error: cannot find symbol method crossFade() in latest Glide错误:(35, 24) 错误:在最新的 Glide 中找不到符号方法 crossFade()
【发布时间】:2021-02-22 16:43:01
【问题描述】:

我有一个使用 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)

我尝试了从 Glide-4.0.0 Missing placeholder, error, GlideApp 解决了 overide(int,int) 问题。但随后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()

【问题讨论】:

    标签: android android-glide


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我的建议是最好的

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2019-05-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多