【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 数据适配器的开发

 

posted @ 2018-04-18 09:36  OzTaking  阅读(243)  评论(0)    收藏  举报