实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动

系列文章:
1.实现屏幕切换、滑动-ViewPager详解(一)之——–基础知识
2.实现屏幕切换、滑动-ViewPager详解(二)之——–PagerTitleStrip与PagerTabStrip添加标题栏
3.实现屏幕切换、滑动-ViewPager详解(三)之——–使用Fragment实现ViewPager滑动

1.概述;(API解释)

android官方最推荐的一种实现方法却是使用fragment。
实现ViewPager是要有适配器的,我们前面用的适配器是PagerAdapter,而对于fragment,它所使用的适配器是:FragmentPagerAdapter.
官方的类解释:
FragmentPagerAdapter派生自PagerAdapter,它是用来呈现Fragment页面的,这些Fragment页面会一直保存在fragment manager中,以便用户可以随时取用。
这个适配器最好用于有限个静态fragment页面的管理。尽管不可见的视图有时会被销毁,但用户所有访问过的fragment都会被保存在内存中。因此fragment实例会保存大量的各种状态,这就造成了很大的内存开销。所以如果要处理大量的页面切换,建议使用FragmentStatePagerAdapter.
对于FragmentPagerAdapter的派生类,只需要重写getItem(int)和getCount()就可以了。

2.具体实现:

步骤;
1>适配器的实现;
2>fragment集合初始化,构造fragment类(注:不要导错包,导入android…v4)
3>设定适配器。

3.范例1:

关于碎片详看:Fragment(碎片)——-让界面在平板上一样炫丽美观
利用fragment实现详解(一)中的屏幕滑动效果:

解析:
1>viewPager布局设计:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <ImageView 
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/liminhao"
        />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        ></android.support.v4.view.ViewPager>

</RelativeLayout>

2>各个子view布局:(这里是3个界面)

实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第1张图片

实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第2张图片

实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第3张图片

3>Fragment类的设置(将上面的view加进去,有几个界面就创建几个Fragment类的子类)继承Fragment类
实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第4张图片

实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第5张图片

实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第6张图片

4>适配器设置(继承FragmentPagerAdapter)
实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第7张图片

5>主activity实现
实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第8张图片
结果演示:
实现屏幕切换、滑动-ViewPager详解(三)之--------使用Fragment实现ViewPager滑动_第9张图片
注意事项:
修改控件在ViewPager中的位置,是在单个xml中。

4.补充:

1>mViewPager.setCurrentItem(0);//可以将viewpager指定到指定的位置显示,常用在当按钮点击时,界面转换。
2>事件;
v4的旧版本:mViewPager.setOnPageChangeListener()重写其中的onPageSelected()方法可以设置当页面改变时,进行的操作。
v4的新版本:mViewPager.addOnPageChangeListener()

我的eclipse中的默认添加的v4版本是旧版本,只能用第一个方法setOnPageChangeListener()。

你可能感兴趣的:(viewpager,api)