当前课程知识点:Android应用开发基础 > 第四章 Android Fragment > 4.2 ViewPager翻页类组件 > 4.2 实践案例-引导页和选项卡
本节我们通过实例来介绍如何使用Fragment组件实现引导页和选项卡
本节我们介绍引导页和选项卡
下面通过点击单选按钮显示不同页面的实例
来介绍引导页和选项卡
首先创建一个应用程序 鼠标右击项目名
依次选择 “New” |“Module”
设置应用程序的名字
在视图设置中 选择“Empty Activity”空白视图
视图的名字和布局的名字选择默认
进入res\values\colors文件
自定义颜色light_blue
和light_gray
进入res\drawable 新建tab_checked文件
设置shape为圆形oval
solid color填充色为light_blue
stroke color描线为light_blue
宽和高都为30dp
复制文件命名为tab_normal
并将solid和stroke的颜色都设置为light_gray
设置stroke的宽度为1dp
新建tab_selector文件
当RadioButton被选中时指向tab_checked文件
未选中时指向tab_normal文件
进入res\layout\activity_main布局文件
新建一个ViewPager组件,设置ID为viewpager
设置宽度为0dp 高度为适配
并在ViewPager中新建一个PagerTabStrip组件
设置高度和宽度适配 ID为pagertabstrip
从布局工具栏中选择增加横向辅助线
选择辅助线属性 设置比例为0.9
新建RadioGroup组件 设置ID为radiogroup
设置限制性属性 上下左右都为8
设置排列方向为水平
与横向辅助线的上边界一致
在RadioGroup中新建RadioButton组件
设置ID为radiobutton1
高度和宽度为40dp
权重为1
在background设置背景选择器为tab_selector
设置边距为10dp 文本padding为5
button属性设置为空
复制6个RadioButton组件
分别修改ID为radiobutton2 radiobutton3
radiobutton7
新建activity_viewpager_fragment1文件
修改布局类型为LineLayout线性布局
新建ImageVIew组件
设置宽度和高度
设置scaleType为centerCrop
复制6个activity_viewpager_fragment1文件
分别命名为activity_viewpager_fragment2至
activity_viewpager_fragment7
并将ImageView组件的src分别修改为school2至school7
下面以FragmentPagerAdapter为父类
实现自定义的碎片配饰器类
新建MyFragmentPagerAdapter文件
父类为FragmentPagerAdapter
新建私有变量mCtx
fragments
和mTitleList
鼠标右击 点击Constructor构造
使用已定义的三个私有变量创建构造方法
实现FragmentPageAdapter重载方法
getItem代表获取指定位置的Fragment实例数据
getCount代表Fragment的数量
getPageTitle代表获取标题栏的文字
下面实现Fragment到Fragment7的碎片类
右击new|Fragment|新建Fragment1文件
onCreateView方法中 通过inflate()方法将
activity_viewpager_fragment1布局动态加载
复制Fragment1文件 分别命名为Fragment2至
Fragment7 并修改加载的布局分别为
activity_viewpager_fragment2至
activity_viewpager_fragment7
下面实现主视图MainActivity
选中activity_main布局文件
右键Generate-LayoutCreator
组件变量命名采用mAaBbCc的方式
自动生成组件初始化的代码
进入MainActivity类 实现ViewPager的
OnPageChangeListener接口和
RadioGroup的OnCheckedChangeListener接口
实现接口未实现的方法OnCheckedChanged
新建私有变量
mFragments代表碎片的集合数据源
myFragmentPagerAdapter代表碎片适配器
mTabs代表按钮id的集合
mTitleList代表标题栏的文字集合
定义并初始化字符变量strTitles
在onCreate中新建initData方法
在initData方法中初始化Fragment集合数据
mFragments
将新建的Fragment依次添加到mFragments中
初始化Integer集合数据mTabs
将RadioButton依次添加到mTabs中
初始化RadioGroup
初始化标题栏的文字集合mTitleList
使用for循环依次将标题栏的文字加入到
List mTitleList集合数据中
将字符变量strTitles的内容依次添加到mTitleList
在onCreate中新建initAdapter方法
设置标题栏的背景颜色为灰色
文本颜色为红色
标题栏的字体大小为40
设置标题栏下方的线为长横线
线的颜色为红色
自定义FragmentPagerAdapter对象初始化
并将ViewPager组件对象与适配器进行绑定
在onPageSelected中,当page被选中的时候
通过位置i
使用mRadiogroup.check将对应的按钮选中
在OnCheckedChanged中
当radioButton被选中的时候
使用mViewpager.setCurrentItem设置ViewPager
显示页面 通过checkedId参数获取
ViewPager的显示页
重写onResume方法
使用if判断语句 如果屏幕显示的方向不为横屏
则设置为横屏显示
在initView函数中
mViewpager实现mViewpager的
OnPageChangeListener接口
mRadioGroup实现OnCheckedChanged接口
代码编写完成后运行程序
点击标题栏或点击单选按钮
ViewPager组件可以显示不同的页面
这就是使用Fragment组件实现引导页和选项卡的过程
请大家按照讲课的内容实现引导页和选项卡
在Android的模拟器和手机中分别运行
通过实例理解Fragment的自定义适配器的原理
以及引导页和选项卡的实现过程
-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章 在线点餐系统