【发布时间】:2018-08-01 12:30:49
【问题描述】:
我正在通过滑行显示来自服务器的图像。 我想显示一个圆形进度条作为占位符。我从progress-bar-while-loading-image-using-glide 尝试了这种方法,但它不起作用。 我错过了什么?
我正在展示活动中的回收者视图。当用户单击 onItem 时,图像会在包含 Viewpager 的片段中打开。我正在通过滑动在 viewpager 中加载图像。
适配器类 -
public class MyViewPagerAdapter extends PagerAdapter {
private ArrayList<Object> imagesList = new ArrayList<>();
public MyViewPagerAdapter(ArrayList<Object> images) {
this.imagesList = images;
}
@NonNull
@SuppressLint("ClickableViewAccessibility")
@Override
public Object instantiateItem(@NonNull final ViewGroup container, int position) {
Object recyclerViewItem = imagesList.get(position);
final View view = LayoutInflater.from(container.getContext()).inflate(R.layout.util_image_fullscreen_preview, container, false);
final TouchImageView imageViewPreview = view.findViewById(R.id.image_preview);
CircularProgressDrawable circularProgressDrawable =
new CircularProgressDrawable(container.getContext());
circularProgressDrawable.start();
Photos image = (Photos) imagesList.get(position);
GlideApp
.with(container.getContext())
.asBitmap()
.load(advertiser.getUrl())
.placeholder(circularProgressDrawable)
.fitCenter().diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageViewPreview);
container.addView(view);
return view;
}
@Override
public int getCount() {
return imagesList.size();
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return view.equals(obj);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
【问题讨论】:
-
你试过用 gif 代替吗?
-
@ThankgodRichard 是的,但是如果我使用 gif,则必须开始一个新问题 - 如何在 Glide 中设置 gif 的高度和宽度?
-
当您只显示 .jpeg 格式的图像时,为什么需要使用 GIF
标签: android xml progress-bar android-imageview android-glide