package com.ccxt.whl.gushi; import java.util.ArrayList; import java.util.List; import com.ccxt.whl.R; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.ImageView; import android.widget.RelativeLayout; public class PhotoActivity extends Activity { private ArrayList<View> listViews = null; private ViewPager pager; private MyPageAdapter adapter; public static List<Bitmap> bitmap = new ArrayList<Bitmap>(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gushi_activity_photo); pager = (ViewPager) findViewById(R.id.viewpager); pager.setOnPageChangeListener(pageChangeListener); for (int i = 0; i < bitmap.size(); i++) { initListViews(bitmap.get(i));// } adapter = new MyPageAdapter(listViews);// 构造adapter pager.setAdapter(adapter);// 设置适配器 Intent intent = getIntent(); int id = intent.getIntExtra("ID", 0); pager.setCurrentItem(id); } private void initListViews(Bitmap bm) { if (listViews == null) listViews = new ArrayList<View>(); ImageView img = new ImageView(this);// 构造textView对象 img.setBackgroundColor(0xff000000); img.setImageBitmap(bm); img.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); listViews.add(img);// 添加view } private OnPageChangeListener pageChangeListener = new OnPageChangeListener() { public void onPageSelected(int arg0) {// 页面选择响应函数 // count = arg0; } public void onPageScrolled(int arg0, float arg1, int arg2) {// 滑动中。。。 } public void onPageScrollStateChanged(int arg0) {// 滑动状态改变 } }; class MyPageAdapter extends PagerAdapter { private ArrayList<View> listViews;// content private int size;// 页数 public MyPageAdapter(ArrayList<View> listViews) {// 构造函数 // 初始化viewpager的时候给的一个页面 this.listViews = listViews; size = listViews == null ? 0 : listViews.size(); } public void setListViews(ArrayList<View> listViews) {// 自己写的一个方法用来添加数据 this.listViews = listViews; size = listViews == null ? 0 : listViews.size(); } public int getCount() {// 返回数量 return size; } public int getItemPosition(Object object) { return POSITION_NONE; } public void destroyItem(View arg0, int arg1, Object arg2) {// 销毁view对象 ((ViewPager) arg0).removeView(listViews.get(arg1 % size)); } public void finishUpdate(View arg0) { } public Object instantiateItem(View arg0, int arg1) {// 返回view对象 try { ((ViewPager) arg0).addView(listViews.get(arg1 % size), 0); } catch (Exception e) { } return listViews.get(arg1 % size); } public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } } }