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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...