Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在回收者的cardview里做滑动图像的最好方法是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个RecyclerView与Cardviews.我想在这个CardView中滑动图像,就像在OLX应用程序中一样.这样做最好的方法是什么?
我想把看门人放在cardview里面.可以吗还是应该尝试别的东西?

我用ViewPager做了,但看起来太慢了.这是查看器适配器的一部分.

@Override
public Object instantiateItem(ViewGroup collection,int position) {

    LayoutInflater inflater = LayoutInflater.from(mContext);
    ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.viewpager_custom,collection,falsE);
    collection.addView(layout);

    ImageView image = (ImageView) layout.findViewById(R.id.viewPagerImageView);
    image.setImageresource(mPics[position]);

    return layout;
}

解决方法

你要走正确的路.

只需要加载压缩位图,而不是未压缩的位图.
您直接将位图资源设置为您的图像视图.使用像毕加索的图书馆
https://github.com/square/picasso/

或使用谷歌的官方来源有效地加载大型位图.

首先在您的活动中复制此方法

public static int calculateInSampleSize(
            BitmapFactory.options options,int reqWidth,int reqHeight) {
    // Raw height and width of image
    final int height = options.outHeight;
    final int width = options.outWidth;
    int inSampleSize = 1;

    if (height > reqHeight || width > reqWidth) {

        final int halfHeight = height / 2;
        final int halfWidth = width / 2;

        // Calculate the largest inSampleSize value that is a power of 2 and keeps both
        // height and width larger than the requested height and width.
        while ((halfHeight / inSampleSizE) > reqHeight
                && (halfWidth / inSampleSizE) > reqWidth) {
            inSampleSize *= 2;
        }
    }

    return inSampleSize;
}

那么这个方法来解码位图:

public static Bitmap decodeSampledBitmapFromresource(resources res,int resId,int reqHeight) {

    // First decode with inJustDecodeBounds=true to check dimensions
    final BitmapFactory.options options = new BitmapFactory.options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decoderesource(res,resId,options);

    // Calculate inSampleSize
    options.inSampleSize = calculateInSampleSize(options,reqWidth,reqHeight);

    // Decode bitmap with inSampleSize set
    options.inJustDecodeBounds = false;
    return BitmapFactory.decoderesource(res,options);
}

然后加载你的位图像这样:

@Override
public Object instantiateItem(ViewGroup collection,falsE);
    collection.addView(layout);

    ImageView image = (ImageView) layout.findViewById(R.id.viewPagerImageView);
    image.setImageBitmap(
    decodeSampledBitmapFromresource(getresources(),R.id.myimage,reqwidth,reqheight));

    return layout;
}

大佬总结

以上是大佬教程为你收集整理的android – 在回收者的cardview里做滑动图像的最好方法是什么?全部内容,希望文章能够帮你解决android – 在回收者的cardview里做滑动图像的最好方法是什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。