RecyclerView图像滑块全屏

时间:2017-08-07 09:37:18

标签: java android android-recyclerview android-viewpager

我的recyclerview列表项目包含三个图像和其他组件。

  <LinearLayout
            android:id="@+id/image_view_items"

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_marginTop="3dp"
                android:padding="5dp"
                android:weightSum="3"
                android:visibility="visible"
                android:minHeight="100dp">

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:scaleType="fitXY"
                    android:layout_gravity="center"
                    android:src="@drawable/car02"
                    android:padding="2dp"
                    />

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:layout_gravity="center"
                    android:scaleType="fitXY"
                    android:src="@drawable/car01"
                    android:padding="2dp"
                    />

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:layout_gravity="center"
                    android:scaleType="fitXY"
                    android:src="@drawable/car03"
                    android:padding="2dp"
                    />

            </LinearLayout>

我的每个列表项都有三个水平图像。

在回收者onBindViewHolder中。我添加了下面的行

 @BindView(R.id.image_view_items)
 LinearLayout imageHolder;

 viewholder.imageHolder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 // open activity of page viewer
                //Log.i("Item", "Clicked");
            }
        });


public class ImagePagerAdapter extends PagerAdapter{

    private int[] images = {R.drawable.car01, R.drawable.car02, R.drawable.car03};
    Context mContext;
    LayoutInflater mLayoutInflater;

    public ImagePagerAdapter() {
        super();
    }

....

单击列表项上的图像时,图像应弹出全屏,并且应该能够滑动三个图像,当我拖动全屏视图时,它应该关闭。 (如发布图像上的Facebook图像全屏滑块视图)

如何将特定列表项图像传递给活动? 加载图像后。有些我需要传递图像参考来快速加载吗?

感谢。

1 个答案:

答案 0 :(得分:1)

RecyclerView适配器onBindViewHolder();

您要为行设置图像,只需创建一个ArrayList并在该arrayList上添加三个图像。当按位置设置每行中的图像时,将添加图像并将arrayList传递给你的viewPager

并将Listner设置为onBindViewHolder():

  holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           //call Viewpager here
        }
    });

ViewPager参考View translation in sliding a ViewPager