Android App开发中ViewPager组件的入门使用教程

2019-12-10 18:37:30于丽

代码量很小,全部放在了OnCreate()函数中。
1、先看声明的变量的意义:

private View view1, view2, view3; 
private List<View> viewList;//view数组 
private ViewPager viewPager; //对应的viewPager 

首先viewPager对应 <android.support.v4.view.ViewPager/>控件。

view1,view2 ,view3对应我们的三个layout,即layout1.xml,layout2.xml,layout3.xml
viewList是一个View数组,盛装上面的三个VIEW

2、接下来是他们的初始化过程:

viewPager = (ViewPager) findViewById(R.id.viewpager); 
LayoutInflater inflater=getLayoutInflater(); 
view1 = inflater.inflate(R.layout.layout1, null); 
view2 = inflater.inflate(R.layout.layout2,null); 
view3 = inflater.inflate(R.layout.layout3, null); 
 
viewList = new ArrayList<View>();// 将要分页显示的View装入数组中 
viewList.add(view1); 
viewList.add(view2); 
viewList.add(view3); 

初始化过程难度不大,就是将资源与变量联系起来布局,最后将实例化的view1,view2,view3添加到viewList中
3、PageAdapter——PageView的适配器
适配器这个东东想必大家都不莫生,在ListView中也有适配器,listView通过重写GetView()函数来获取当前要加载的Item。而PageAdapter不太相同,毕竟PageAdapter是单个VIew的合集。

PageAdapter 必须重写的四个函数:

(1)boolean isViewFromObject(View arg0, Object arg1)
(2)int getCount() 
(3)void destroyItem(ViewGroup container, int position,Object object)
(4)Object instantiateItem(ViewGroup container, int position)
先看看各个函数,我们上面都做了什么吧:

@Override 
public int getCount() { 
  // TODO Auto-generated method stub 
  return viewList.size(); 
}