现在,我正在开发一个演示应用程序,该应用程序可以从api加载电影数据,并且我发现Glide比Picasso的投注更快,因此在使用它并添加后
RequestOptions requestOptions = new RequestOptions();
requestOptions.error(R.drawable.poster_placeholder);
Glide.with(context)
.setDefaultRequestOptions(requestOptions)
.load(film.getPoster())into(poster);
error()正常工作 但我需要添加加载gif以改善UX 所以我发现这个solution添加了gif,它很好用,但是error()停止工作,gif总是在运行。
新代码是
RequestOptions requestOptions = new RequestOptions();
requestOptions.error(R.drawable.poster_placeholder);
Glide.with(context)
.setDefaultRequestOptions(requestOptions)
.load(film.getPoster())
.thumbnail(Glide.with(context)
.load(R.drawable.placeholdergif)).into(poster);
我需要一个使error()再次起作用的解决方案 或其他显示加载图像直到加载图像的方式。
答案 0 :(得分:0)
使用26.1.0(支持库)中发布的CircularProgressDrawable
,现在这非常简单:
CircularProgressDrawable circularProgressDrawable =
CircularProgressDrawable(this);
circularProgressDrawable.strokeWidth = 5f;
circularProgressDrawable.centerRadius = 30f;
circularProgressDrawable.start();
Glide.with(context)
.setDefaultRequestOptions(requestOptions)
.load(film.getPoster())
.thumbnail(Glide.with(context)
.placeholder(circularProgressDrawable)
.into(a_main_image);
}