2

我有一个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;

    }
}
4

1 回答 1

0

位图缩放:

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);
于 2019-03-30T13:46:49.453 回答