我有一个RecyclerView
,当我点击项目时,它应该显示一个imageSlider
与一些图像(只有2或3)。一切正常,但点击有一点延迟,需要2秒钟,这非常烦人?我该如何解决?
这是从位图数组加载图像的滑块代码:
public class ImageAdapter extends PagerAdapter {
private Context context;
private ArrayList<Bitmap> bitmaps;
public ImageAdapter(Context context, ArrayList<Bitmap> bitmaps) {
this.context = context;
this.bitmaps = bitmaps;
}
@Override
public int getCount() {
return bitmaps.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((ImageView) object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
Glide.with(container)
.asBitmap()
.centerCrop()
.load(bitmaps.get(position))
.into(imageView);
container.addView(imageView,0);
return imageView;
}
}
位图缩放:
Bitmap bitmap = Bitmap.createScaledBitmap(yourBitmap, 100, 100, false);
Bitmap bitmap = Bitmap.createBitmap(yourBitmap, width, height, Bitmap.Config.ARGB_8888);
或者使用Glide:
Glide.with(context).asBitmap().load(yourBitmap).apply(new RequestOptions().placeholder(placeHolderDrawable).error(errorDrawable).override(width, height)).into(yourImageView);