[英]RecyclerView image slider with full screen
我的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圖片全屏滑塊視圖)
如何將特定的列表項目圖像傳遞給活動? 加載圖像后。 我需要如何傳遞圖像參考來快速加載一些內容?
謝謝。
在RecyclerView
Adapter中, onBindViewHolder()
;
在您為行設置圖像的地方,只需創建一個ArrayList並在該arrayList上添加三張圖像。當按位置設置每一行中的圖像時,它將添加圖像並將arrayList
傳遞給您的viewPager
並在onBindViewHolder():
設置偵聽器onBindViewHolder():
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//call Viewpager here
}
});
ViewPager參考 : 滑動ViewPager中的視圖翻譯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.