你的位置:首页 > 操作系统

[操作系统]Android之ViewPager


API文档:


 


 

 

ViewPager的功能就是可以使视图滑动(与ViewFlipper的自动滑动不同的是它要手动滑动),就像Lanucher左右滑动那样。

所以我们可以用它来做一个app引导界面。

效果图如下:

 

 

实现步骤:

1、主界面布局中创建VIewPager。

2、加载各个界面的View。

3、设置PagerAdapter.

注意:

当你实现一个PagerAdapter,你必须至少覆盖以下方法:

  • instantiateItem(ViewGroup, int)
  • destroyItem(ViewGroup, int, Object)
  • getCount()
  • isViewFromObject(View, Object)

实现代码:

MainActivity:

 

public class MainActivity extends Activity {	private ViewPager mviewPager;	private View view1, view2, view3;	private List<View> viewList;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.viewpager);		initView();				PagerAdapter mpagerAdapter = new PagerAdapter() { 			 	    @Override 	    public boolean isViewFromObject(View arg0, Object arg1) { 	      return arg0 == arg1; 	    } 	    @Override 	    public int getCount() { 	      return viewList.size(); 	    } 	    @Override 	    public void destroyItem(ViewGroup container, int position, 	        Object object) { 	      container.removeView(viewList.get(position)); 	    } 	    @Override 	    public int getItemPosition(Object object) { 	      return super.getItemPosition(object); 	    } 	    	    @Override 	    public Object instantiateItem(ViewGroup container, int position) { 	      container.addView(viewList.get(position)); 	      	      return viewList.get(position); 	    } 	  }; 		mviewPager.setAdapter(mpagerAdapter);	}	void initView() {		mviewPager = (ViewPager) findViewById(R.id.viewPager);		viewList = new ArrayList<View>();				LayoutInflater layoutInflate = getLayoutInflater().from(this);		view1 = layoutInflate.inflate(R.layout.layout1, null);		view2 = layoutInflate.inflate(R.layout.layout2, null);		view3 = layoutInflate.inflate(R.layout.layout3, null);		viewList.add(view1);		viewList.add(view2);		viewList.add(view3);		pagerAdapter);	}


2、主布局:main.

 

 

<LinearLayout 


3、各个被加载的子布局,这里只给出一个,另外两个布局代码一样只是名字不同。

 

 

<?


上面是一个入门级的例子,接下来几篇会讲一些更加深入有技术性的例子。微笑