9135922

当前课程知识点:Android应用开发基础 >  第四章 Android Fragment >  4.2 ViewPager翻页类组件 >  4.2 实践案例-引导页和选项卡

返回《Android应用开发基础》慕课在线视频课程列表

4.2 实践案例-引导页和选项卡在线视频

下一节:讨论:fragment与activity的生命周期有哪些不同?

返回《Android应用开发基础》慕课在线视频列表

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应用开发基础课程列表:

课程教案

-1 Android应用开发基础-课程标准

-2 Android应用开发基础-教案

第一章 Android概述

-讨论:Android应用开发基础资源下载地址

-讨论的问题:华为“鸿蒙系统”会取代安卓吗?

-Android Studio4.1.2安装常用问题汇总2021.3.15

-1.1 Android概述

--1.1 Android概述

--1.1 Android Studio安装与配置-实践案例

-1.1 Android概述--作业

-1.2 Android程序

--1.2 Android程序

--1.2 第一个Android应用程序-实践案例

-1.2 Android程序--作业

-1.3 Android程序调试

--1.3 Android程序调试

--1.3 Android程序调试-实践案例

-1.3 Android程序调试--作业

-讨论-完成第一个Android程序需要多长时间?

第二章 Android视图

-讨论-什么是Activity?

-2.1 Activity概述

--2.1 Activity概述

--2.1.1 实践案例-Activity生命周期

--2.1.2 实践案例-Activity跳转和数据传递

-2.1 Activity概述--作业

-2.2 Activity应用

--2.2 Activity应用

--2.2 实践案例-Activity四种启动模式

-第2章 Android视图--2.2 Activity应用

-讨论-怎么理解常用的四种启动模式?

第三章 Android组件

-讨论:Android在五个常用布局外还有哪几种布局方式?

-3.1 Activity布局

--3.1 Activity布局

--3.1 实践案例-Android布局

-3.1 Activity布局--作业

-3.2 Android基础组件

--3.2 Android基础组件

--3.2.1 实践案例-文本和按钮组件

--3.2.2 实践案例-编辑框和进度条组件

-3.2 Android基础组件--作业

-3.3 Android中级组件

--3.3 Android中级组件

--3.3.1 实践案例-复选框和开关组件

--3.3.2 实践案例-单选框和图像组件

-3.3 Android中级组件--作业

-3.4 Android适配器

--3.4.1 系统适配器

--3.4.2 自定义适配器

--3.4.1实践案例-系统适配器

--3.4.2 实践案例-自定义适配器

-3.4 Android适配器--作业

-讨论-如何解决Android的布局嵌套问题的?

第四章 Android Fragment

-讨论:Fragment的优点?

-4.1 Fragment碎片组件

--4.1.1 Fragment静态加载

--4.1.2 Fragment与Activity通讯

--4.1.3 Fragment动态加载

--4.1.1 实践案例-Fragment静态加载

--4.1.2 实践案例-Fragment的动态加载

-4.1 Fragment碎片组件--作业

-4.2 ViewPager翻页类组件

--4.2.1 ViewPager翻页类组件

--4.2.2 引导页和标题栏

--4.2 实践案例-引导页和选项卡

-4.2 ViewPager翻页类组件--作业

-讨论:fragment与activity的生命周期有哪些不同?

第五章 广播

-讨论:Android广播有什么作用?

-5.1 Android广播概述

--5.1 Android广播概述

--5.1.1 实践案例-手机电量显示

--5.1.2 实践案例-手机充电状态显示

-5.1 Android广播概述--作业

-5.2 Android广播工作原理

--5.2 Android广播工作原理

--5.2.1 实践案例-手机网络状态显示

--5.2.2 实践案例-短消息接收

-5.2 Android广播工作原理--作业

-5.3 自定义广播

--5.3 自定义广播

--5.3 实践案例-自定义广播与有序广播

-第5章 广播--5.3 自定义广播

-5.4 有序广播

--5.4有序广播

--5.4.2 实践案例-登录广播-记住密码

--5.4.2 实践案例-登录广播-强制退出

-第5章 广播--5.4 有序广播

-讨论:广播的动态注册和静态注册有什么区别?

第六章 Android服务

-讨论:Android的服务有什么作用?

-6.1 系统服务概述

--6.1 系统服务概述

-6.1 系统服务概述--作业

-6.2 访问系统服务

--6.2 访问系统服务

--6.2 实践案例-通知服务

-6.2 访问系统服务--作业

-6.3 自定义服务

--6.3 自定义服务

--6.3.1 实践案例-启动服务

--6.3.2 实践案例-绑定服务

--6.3.3 实践案例-后台服务

-第6章 Android服务--6.3 自定义服务

-6.4 多线程

--6.4 多线程

--6.4.2 实践案例-MyService下载

--6.4.3 实践案例-MyIntentService

--6.4.4 实践案例-AsyncTask实现对话框下载

--6.4.5 实践案例-下载精灵

-第6章 Android服务--6.4 多线程

-讨论:Android中怎么启动Service?

第七章 内容提供者ContentProvider

-讨论:ContentProvide的作用是什么?

-7.1 Android运行权限

--7.1 Android运行权限

--7.1 实践案例-拨打电话与发送短信

-7.1 Android运行权限--作业

-7.2 URL URI概述

--7.2 URL URI概述

-第7章 内容提供者ContentProvider--7.2 URL URI概述

-7.3 ContentProvider概述

--7.3 ContentProvider概述

--7.3 实践案例-读取联系人

-第7章 内容提供者ContentProvider--7.3 ContentProvider概述

-7.4 访问通讯录

--7.4 访问通讯录

--7.4.1 实践案例-读取通讯录

--7.4.2 实践案例-添加通讯录

--7.4.3 实践案例-删除更改通讯录

-第7章 内容提供者ContentProvider--7.4 访问通讯录

-7.5 课后作业案例

--7.5.1 实践案例-文件管理器-查看

--7.5.2 实践案例-文件管理器-播放

-讨论:ContentProvide如何使用?

第八章 多媒体

-讨论:Android多媒体主要应用于哪些场景?

-8.1 相机服务

--8.1 相机服务

--8.1.1实践案例-拍照服务

--8.1.2 实践案例-相册服务

-8.1 相机服务--作业

-8.2 音视频服务

--8.2 音视频服务

--8.2.1实践案例-音乐播放

--8.2.2 实践案例-视频播放

-8.2 音视频服务--作业

-讨论:Android视频组件的使用流程?

第九章 网络技术

-讨论:为什么使用Json作为网络的通讯格式?

-9.1 网络服务概述

--9.1 网络服务概述

--9.1 实践案例-WebView和Http服务

-9.1 网络服务概述--作业

-9.2 网络框架

--9.2 网络框架

--9.2 实践案例-okhttp框架

-9.2 网络框架--作业

-9.3 Json

--9.3 Json

--9.3 实践案例-json协议

-第9章 网络技术--9.3 Json

-9.4 Volley

--9.4 volley

--9.4 实践案例-volley框架

-第9章 网络技术--9.4 Volley

-讨论:OkHttp和Volley的有什么区别?

第十章 数据存储

-讨论:Android的存储方式有哪几种?

-10.1 文件存储

--10.1 文件存储

--10.1.1 实践案例-文件读写布局

--10.1.2 实践案例-文件读写

--10.1.3 实践案例-SharedPreference文件读写

-10.1 文件存储--作业

-10.2 数据库存储

--10.2 数据库存储

--10.2.1 实践案例-Sqlite数据库操作布局

--10.2.2 实践案例-Sqlite数据库操作

-10.2 数据库存储--作业

-讨论:SQLite的基础操作的流程是什么?

课程实训(不计入考核)

-第1章 实训简介以及开发环境配置

--实训项目简介PPT以及实训指导书

--1.1 实训项目简介

--1.2 项目开发环境配置

-第2章 在线音乐播放器整体设计以及服务端开发

--在线音乐播放器整体介绍PPT以及服务端开发实训指导书

--2.1 在线音乐播放器-整体设计

--2.2 在线音乐播放器-服务端开发

-第3章 在线音乐播放器-客户端开发

--3.1 客服端开发实训指导书以及PPT

--3.2 客户端开发-讲课视频

-第4章 在线音乐播放器-完整版

--4.1 实训指导书以及PPT

--4.2 在线音乐播放器-完整版授课视频

-第5章 QQ聊天项目

--5.1 实训指导书以及PPT

--5.2 QQ聊天项目授课视频

-第6章 在线点餐系统

--6.1 实训指导书以及PPT

--6.2 在线点餐系统授课视频

4.2 实践案例-引导页和选项卡笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。