package com.chudiangameplay.android.adapter; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.chudiangameplay.android.R; import com.chudiangameplay.android.bean.UploadFileInfo; import com.chudiangameplay.android.interface_.CommCallBack; import com.chudiangameplay.android.tool.Log; import com.chudiangameplay.android.util.BitmapUtil; import com.chudiangameplay.android.util.GlideUtil; import com.chudiangameplay.android.util.Util; import com.hyphenate.chat.EMConversation; import java.util.ArrayList; import java.util.List; import uk.co.senab.photoview.PhotoView; import uk.co.senab.photoview.PhotoViewAttacher; public class UserCenterImgPageAdapter extends PagerAdapter { private List<UploadFileInfo> imgs = new ArrayList<>(); private Context context; CommCallBack commCallBack; int width =0; List<View> mViews = new ArrayList<>(); public UserCenterImgPageAdapter(Context context, List<UploadFileInfo> imgs, CommCallBack commCallBack) { width = (int) (context.getResources().getDisplayMetrics().widthPixels * 2f / 3f); this.context = context; this.commCallBack = commCallBack; this.imgs.addAll(imgs); for (int i = 0; i < 4; i++) { View view = View.inflate(context, R.layout.item_usercenter_headimgs, null); mViews.add(view); } } @Override public void destroyItem(ViewGroup container, int position, Object object) { int i = position % 4; View view = mViews.get(i); ImageView imageView = view.findViewById(R.id.iv_img); if (imageView != null) { // BitmapUtil.releaseImageViewResouce(imageView); } container.removeView(view); } @Override public Object instantiateItem(ViewGroup container, final int position) { UploadFileInfo fileInfo = imgs.get(position); int i = position % 4; View view = mViews.get(i); ImageView imageView = view.findViewById(R.id.iv_img); ImageView iv_video = view.findViewById(R.id.iv_video); if (fileInfo.isVideo) { iv_video.setVisibility(View.VISIBLE); String thembUrl = fileInfo.url + "?spm=a2c4g.11186623.2.9.3db83c10D2Oz0S&x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_600,m_fast"; GlideUtil.displayImage(context, thembUrl, imageView, R.drawable.ico_default_img_fang); // GlideUtil.displayImgWithSize(context, fileInfo.snapUrl, imageView, R.drawable.ico_default_img_fang, width, width); } else { iv_video.setVisibility(View.GONE); // GlideUtil.displayImage(context, fileInfo.url, imageView, R.drawable.ico_default_img_fang); GlideUtil.displayImgWithSize(context, fileInfo.url, imageView, R.drawable.ico_default_img_fang, width, width); } view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (commCallBack != null) { commCallBack.onResult(position); } } }); container.addView(view); return view; } @Override public int getCount() { return imgs.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public int getItemPosition(Object object) { return POSITION_NONE; } }