当前课程知识点:Android应用开发基础 > 第四章 Android Fragment > 4.2 ViewPager翻页类组件 > 4.2.1 ViewPager翻页类组件
本节我们主要介绍ViewPager翻页类组件
主要介绍ViewPager控件
加载Fragment的原理和适配器用法
Viewpager视图翻页工具
提供了多页面切换的效果
Viewpager是Android 3.0后
引入的一个UI控件
目前我们使用Android studio进行开发
默认导入的是v7包
Viewpager使用起来
就是我们通过创建adapter
给它填充多个view
在左右滑动的过程中
切换不同的view
Google官方建议使用Fragment
来填充ViewPager
这样可以更加方便的生成每个碎片
以及管理每个碎片的生命周期
Viewpager的原理如下图所示
主视图中包含一个ViewPager组件
ViewPager组件包含多个Fragment碎片组件
Viewpager的实现流程图下图所示
多个Fragment组成了一个ArrayList集合
ViewPager与Fragment集合数据
通过系统自定义的FragmentPagerAdapter
进行适配
流程如下
1 ViewPager通过FragmentPagerAdapter
适配器的instantiateItem方法获取视图
2 适配器访问数据源
根据组件的子项位置
读取Fragment碎片
3 数据源将指定位置的Fragment
提交给适配器
4 适配器将Frament对象
返回给ViewPager组件显示
ViewPager的布局如下图所示
ViewPager的布局与普通组件
基本的布局属性是一致的
使用android.support.v4.view.ViewPager
作为组件的标签
Page由多个Fragment组成
Fragment的布局如下图所示
每一个Fragment的布局
使用一个ImageView
ViewPager基本属性和方法如下图所示
1 setAdapter 设置适配器
2 setCurrentItem
设置当前页面的序号
3 addOnPageChangeListener
设置组件的页面切换监听器
其中onPageSelected代表选中页面时
滑动结束时触发
onPageScrollStateChanged
代表页面滑动状态变化时触发
onPageScrolled代表页面滑动过程中触发
Fragment的实现如下图
在Fragment类中重写onCreateView方法
加载碎片的布局
自定义FragmentPageAdapter适配器
实现如下图
(1) 定义属性变量private Context mCtx
代表主视图上下文
private ArrayList
代表碎片的集合数据源
(2)使用属性变量定义构造函数
FragmentManager fm参数
代表主视图的Fragment管理器
(3)实现FragmentPageAdapter重载方法
其中getItem代表
获取指定位置的Fragment实例数据
getCount代表Fragment的数量
主视图MainAcvitiy的实现如下图
(1)Fragment集合数据初始化
在initData方法中
初始化Fragment集合数据mFragments
将新建的Fragment
依次添加到mFragments中
(2)定义适配器对象
将适配器与ViewPager组件对象进行绑定
完成后的ViewPager的
多页面切换的效果如下图所示
可以使用ViewPager组件
实现了一个相册的翻页功能
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统