BigImageCommPageAdapter.java 2.45 KB
package com.chudiangameplay.android.adapter;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

import com.chudiangameplay.android.R;
import com.chudiangameplay.android.interface_.CommCallBack;
import com.chudiangameplay.android.tool.Log;
import com.chudiangameplay.android.util.GlideUtil;

import java.util.ArrayList;
import java.util.List;

import uk.co.senab.photoview.PhotoView;
import uk.co.senab.photoview.PhotoViewAttacher;

public class BigImageCommPageAdapter extends PagerAdapter {

    private List<String> imgs = new ArrayList<>();
    private Context context;
    public PhotoViewClickListener listener;
    CommCallBack callBack;

    public BigImageCommPageAdapter(Context context, List<String> imgs,CommCallBack callBack) {
        this.context = context;
        this.imgs.addAll(imgs);
    }

    public void setPhotoViewClickListener(PhotoViewClickListener listener) {
        this.listener = listener;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        PhotoView photoView = new PhotoView(context);
        String url = imgs.get(position);
        Log.i("url:" + url);
        GlideUtil.displayImage(context, url, photoView, R.drawable.ico_default_img_fang);

//        photoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {
//            @Override
//            public void onPhotoTap(View view, float x, float y) {
//                if (listener != null) listener.OnPhotoTapListener(view, x, y);
//            }
//        });
        photoView.setOnViewTapListener(new PhotoViewAttacher.OnViewTapListener() {
            @Override
            public void onViewTap(View view, float x, float y) {
                if (listener != null) listener.OnPhotoTapListener(view, x, y);
            }
        });
        container.addView(photoView);
        return photoView;
    }

    @Override
    public int getCount() {
        return imgs.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }

    public interface PhotoViewClickListener {
        void OnPhotoTapListener(View view, float v, float v1);
    }
}