Android----ViewPager页面滑动基础--PagerAdapter篇(一)

来源:互联网 发布:托管淘宝 编辑:程序博客网 时间:2024/05/21 22:56

使用PagerAdapter去实现页面滑动效果

具体步骤可以分为三部:

一、创建4个布局(至少两个或者多个)准备实现滑动页面。在main.xml文件中,即主布局中要去添加:


    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" >
    </android.support.v4.view.ViewPager>


注:这里标签过长不好记,可以先在Java文件中声明ViewPager,在其导入的包中有完整的名字。


二、在MainActivity中去声明Viewpager 和 List<View>viewList :

private ViewPager viewPager;
private List<View>viewList;

并且要初始化viewList:

viewList=new ArrayList<View>();

然后通过View对象去作为ViewPager的数据源

View view1=View.inflate(this,R.layout.view1,null);
View view2=View.inflate(this,R.layout.view2,null);
View view3=View.inflate(this,R.layout.view3,null);
View view4=View.inflate(this,R.layout.view4,null);

   最后添加到viewList中去

viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewList.add(view4);

三、创建MyPagerAdapter类去继承PagerAdapter,添加一个构造方法并重写里面的四个方法


public class MyPagerAdapter extends PagerAdapter{

private List<View> viewList;//声明一个List<View>


public MyPagerAdapter(List<View>viewList) {
// TODO Auto-generated constructor stub
this.viewList=viewList;//把从MainActivity中的viewList代入,重新赋值给viewList(本类中声明的)
}

/**
* 返回的是页卡的数量
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return viewList.size();
}


/**
* View是否来自于对象
*/
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;
}


/**
* 实例化一个页卡
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(viewList.get(position));
return viewList.get(position);
}

/**
* 销毁一个页卡
*/
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView(viewList.get(position));
}
}

剩下的四个方法的重写基本上都是固定的。

最后,在MainActivity中加载PagerAdapter适配器

//初始化ViewPager
viewPager=(ViewPager) findViewById(R.id.pager);
// 创建PagerAdapter的适配器
MyPagerAdapter adapter=new MyPagerAdapter(viewList);
//viewPager加载适配器
viewPager.setAdapter(adapter);


      

阅读全文
0 0
原创粉丝点击