ViewPager总结

ViewPager的包android.support.v4.view.ViewPager
ViewPager的主要部分是处理PagerAdapter和OnPagerChangeListener
使用ViewPager主要步骤有:
1、在布局文件中使用ViewPager控件
2、初始化ViewPager
3、初始化 PagerAdapter
  
   需要实现四个方法
   isViewFromObject 判断选择哪个界面
   getCount    界面数量
   instantiateItem 显示当前的界面
   destroyItem  销毁以前的界面

4、设置OnPagerChangeListener
   主要在onPageSelected()方法中实现相关的

package com.viewpager;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
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;

public class MainActivity extends Activity {
	
	ViewPager viewPager ;
	
	List<View> views = new ArrayList<View>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		viewPager = (ViewPager) findViewById(R.id.viewpager);
		init();
	}
	
	private void init(){
		views.add(getLayoutInflater().inflate(R.layout.first, null));
		views.add(getLayoutInflater().inflate(R.layout.seconde, null));
		views.add(getLayoutInflater().inflate(R.layout.third, null));
		
		viewPager.setAdapter(adapter);
		viewPager.setOnPageChangeListener(changeListener);
	}
	
	PagerAdapter adapter = new PagerAdapter() {
		
		@Override
		public boolean isViewFromObject(View view, Object object) {
			return view == object;
		}
		
		@Override
		public int getCount() {
			return views.size();
		}
		
		public Object instantiateItem(View container, int position) {
			((ViewPager)container).addView(views.get(position));
			return views.get(position);
		};
		
		public void destroyItem(View container, int position, Object object) {
			((ViewPager)container).removeView(views.get(position));
		};
	};
	
	OnPageChangeListener changeListener = new OnPageChangeListener() {
		
		@Override
		public void onPageSelected(int position) {
			
		}
		
		@Override
		public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
			
		}
		
		@Override
		public void onPageScrollStateChanged(int state) {
			
		}
	};
}

猜你喜欢

转载自jogickis.iteye.com/blog/1988633
今日推荐