package com.haicaojie.android.ui.trends;
|
|
import android.content.Context;
|
import android.graphics.Bitmap;
|
import android.support.v4.view.PagerAdapter;
|
import android.view.Gravity;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.animation.GlideAnimation;
|
import com.bumptech.glide.request.target.SimpleTarget;
|
import com.haicaojie.android.R;
|
import com.lcjian.library.util.SingleToast;
|
import com.lcjian.library.util.SystemCommon;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
|
import java.util.List;
|
|
import uk.co.senab.photoview.PhotoView;
|
import uk.co.senab.photoview.PhotoViewAttacher;
|
|
public class ImageAdapter extends PagerAdapter {
|
|
private LayoutInflater mLayoutInflater;
|
private List<String> mPhotoUrlList;
|
private DisplayImageOptions options;
|
|
private OnFinishCallBack mOnFinishCallBack;
|
private Context mContext;
|
|
public ImageAdapter(Context context, List<String> photoUrlList) {
|
mLayoutInflater = LayoutInflater.from(context);
|
this.mContext = context;
|
mPhotoUrlList = photoUrlList;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_goods_default)
|
.showImageOnFail(R.drawable.ic_goods_default)
|
.showImageOnLoading(R.drawable.ic_goods_default)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
return mPhotoUrlList == null ? 0 : mPhotoUrlList.size();
|
}
|
|
@Override
|
public boolean isViewFromObject(View view, Object object) {
|
return view == object;
|
}
|
|
@Override
|
public Object instantiateItem(ViewGroup container, int position) {
|
View view = mLayoutInflater.inflate(R.layout.item_trend_image_big, container, false);
|
final String photoUrl = mPhotoUrlList.get(position);
|
final PhotoView iv = (PhotoView) view.findViewById(R.id.detail_icon_iv);
|
int width = (int) SystemCommon.getScreenWidth(mContext);
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width,
|
ViewGroup.LayoutParams.MATCH_PARENT);
|
params.gravity = Gravity.CENTER;
|
iv.setLayoutParams(params);//"http://img4q.duitang.com/uploads/item/201408/11/20140811141753_iNtAF.jpeg"
|
// ImageLoader.getInstance().displayImage(photoUrl, iv, options);R.drawable.test1
|
Glide.with(mContext).load(photoUrl).into(iv);
|
iv.setOnViewTapListener(new PhotoViewAttacher.OnViewTapListener() {
|
@Override
|
public void onViewTap(View view, float x, float y) {
|
if (mOnFinishCallBack != null) {
|
mOnFinishCallBack.finishShowPic();
|
}
|
}
|
});
|
|
container.addView(view);
|
return view;
|
}
|
|
@Override
|
public void destroyItem(ViewGroup container, int position, Object object) {
|
container.removeView((View) object);
|
}
|
|
public interface OnFinishCallBack {
|
void finishShowPic();
|
}
|
|
public void setOnFinishCallBack(OnFinishCallBack onFinishCallBack) {
|
mOnFinishCallBack = onFinishCallBack;
|
}
|
}
|