如何减少Android RecyclerVIew中项目点击操作的延迟?

问题描述 投票:2回答:1

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

    }
}
android android-recyclerview android-bitmap androidimageslider
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);
© www.soinside.com 2019 - 2024. All rights reserved.