【0125】【项目实战】-【组件化封装思想实战Android App】-【8】浏览查看大图页面开发
1. 效果及思路




2.大图浏览开发
2.1 环境搭建

2.2 框架开发



【数据适配器】
1 package com.youdu.adapter; 2 3 import android.content.Context; 4 import android.content.Intent; 5 import android.support.v4.view.PagerAdapter; 6 import android.view.View; 7 import android.view.ViewGroup; 8 import android.view.ViewGroup.LayoutParams; 9 import android.widget.ImageView; 10 import android.widget.ImageView.ScaleType; 11 12 import com.youdu.activity.CourseDetailActivity; 13 import com.youdu.util.ImageLoaderManager; 14 15 import java.util.ArrayList; 16 17 import uk.co.senab.photoview.PhotoView; 18 19 20 public class PhotoPagerAdapter extends PagerAdapter { 21 22 private Context mContext; 23 24 private boolean mIsMatch; 25 private ArrayList<String> mData; 26 private ImageLoaderManager mLoader; 27 28 public PhotoPagerAdapter(Context context, ArrayList<String> list, boolean isMatch) { 29 mContext = context; 30 mData = list; 31 mIsMatch = isMatch; 32 mLoader = ImageLoaderManager.getInstance(mContext); 33 } 34 35 @Override 36 public int getCount() { 37 return mData.size(); 38 } 39 40 @Override 41 public View instantiateItem(ViewGroup container, int position) { 42 ImageView photoView; 43 if (mIsMatch) { 44 photoView = new ImageView(mContext); 45 photoView.setScaleType(ScaleType.FIT_XY); 46 photoView.setOnClickListener(new View.OnClickListener() { 47 @Override 48 public void onClick(View v) { 49 Intent intent = new Intent(mContext, 50 CourseDetailActivity.class); 51 mContext.startActivity(intent); 52 } 53 }); 54 } else { 55 photoView = new PhotoView(mContext); 56 } 57 mLoader.displayImage(photoView, mData.get(position)); 58 container.addView(photoView, LayoutParams.MATCH_PARENT, 59 LayoutParams.MATCH_PARENT); 60 return photoView; 61 } 62 63 @Override 64 public void destroyItem(ViewGroup container, int position, Object object) { 65 container.removeView((View) object); 66 } 67 68 @Override 69 public boolean isViewFromObject(View view, Object object) { 70 return view == object; 71 } 72 }


2.3 数据适配器的开发




浙公网安备 33010602011771号