ViewPage

public class MainActivity extends Activity {

	public static final String TAG = MainActivity.class.getSimpleName();
	ViewPager pager = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//学习ViewPage
		//ViewPage可以实现滑动 使用PageAdatper
		pager = (ViewPager) this.findViewById(R.id.pager);
		pager.setAdapter(new MyPagerAdatper(this));
		pager.setCurrentItem(Integer.MAX_VALUE /2);
	}

	private class MyPagerAdatper extends PagerAdapter {

		private List<Drawable> lists = null;
		private Context mContext;

		public MyPagerAdatper(Context context) {
			super();
			mContext = context;
			lists = new ArrayList<Drawable>();
			lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));
			lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));
			lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));
			lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));
		}

		//得到adapter的个数
		@Override
		public int getCount() {
			Log.i(TAG, "getCount");
			return Integer.MAX_VALUE;
		}
                //是否把对象作为view
		@Override
		public boolean isViewFromObject(View view, Object obj) {
			Log.i(TAG, "isViewFromObject");
			return view == (View) obj;
		}

		@Override
		public void startUpdate(ViewGroup container) {
			// TODO Auto-generated method stub
			Log.i(TAG, "startUpdate");
			super.startUpdate(container);
		}
                //初始化一个item
		@Override
		public Object instantiateItem(ViewGroup container, int position) {
			Log.i(TAG, "instantiateItem");
			View view = View.inflate(mContext, R.layout.img, null);
			ImageView iv = (ImageView) view.findViewById(R.id.img);
			
			int size = lists.size();
			int location = Integer.MAX_VALUE % size;
			iv.setImageDrawable(lists.get(location));
			((ViewPager) container).addView(view);
			return view;
		}
                
                 //pageAdatper与BaseAdapter有很大区别,现在我理解为ViewPager释放有adapter处理
		@Override
		public void destroyItem(View container, int position, Object object) {
			// TODO Auto-generated method stub
			Log.i(TAG, "destroyItem");
			((ViewPager) container).removeView((View) object);
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			// TODO Auto-generated method stub
			Log.i(TAG, "destroyItem");
			super.destroyItem(container, position, object);
		}

		@Override
		public void setPrimaryItem(ViewGroup container, int position, Object object) {
			// TODO Auto-generated method stub
			Log.i(TAG, "setPrimaryItem");
			super.setPrimaryItem(container, position, object);
		}

		@Override
		public void finishUpdate(ViewGroup container) {
			// TODO Auto-generated method stub
			Log.i(TAG, "finishUpdate");
			super.finishUpdate(container);
		}

		@Override
		public void startUpdate(View container) {
			// TODO Auto-generated method stub
			Log.i(TAG, "startUpdate");
			super.startUpdate(container);
		}

		@Override
		public Object instantiateItem(View container, int position) {
			// TODO Auto-generated method stub
			Log.i(TAG, "instantiateItem position:" + position);
			return super.instantiateItem(container, position);
		}

		@Override
		public void setPrimaryItem(View container, int position, Object object) {
			// TODO Auto-generated method stub
			Log.i(TAG, "setPrimaryItem position:" + position);
			super.setPrimaryItem(container, position, object);
		}

		@Override
		public void finishUpdate(View container) {
			// TODO Auto-generated method stub
			Log.i(TAG, "finishUpdate");
			super.finishUpdate(container);
		}

		@Override
		public Parcelable saveState() {
			// TODO Auto-generated method stub
			Log.i(TAG, "saveState");
			return super.saveState();
		}

		@Override
		public void restoreState(Parcelable state, ClassLoader loader) {
			// TODO Auto-generated method stub
			Log.i(TAG, "restoreState");
			super.restoreState(state, loader);
		}

		@Override
		public int getItemPosition(Object object) {
			// TODO Auto-generated method stub
			Log.i(TAG, "getItemPosition");
			return super.getItemPosition(object);
		}

		@Override
		public void notifyDataSetChanged() {
			// TODO Auto-generated method stub
			Log.i(TAG, "notifyDataSetChanged");
			super.notifyDataSetChanged();
		}

		@Override
		public CharSequence getPageTitle(int position) {
			// TODO Auto-generated method stub
			Log.i(TAG, "getPageTitle position:" + position);
			return super.getPageTitle(position);
		}
                //这个是一个很有用的方法默认返回1.0f,权重比例
		@Override
		public float getPageWidth(int position) {
			// TODO Auto-generated method stub
			Log.i(TAG, "getPageWidth position:" + position);
			return super.getPageWidth(position);
		}

	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值