我有一个使用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()
?
答案 0 :(得分:3)
FYI
最新dependencies
implementation 'com.github.bumptech.glide:glide:4.6.1'
修改强>
与 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);