Android开发-Fragment学习笔记(3)

(一)前言

本博客所有Demo来源于腾讯网课点击打开链接,供自己学习复习使用,侵删。

在前面两篇博客中已经接触到了Fragment以及Fragment的一些小的应用,接下来便是步入正轨:实现Android导航栏功能。但是开始这篇博客之间,还需要提前了解另外一个控件-ViewPager

(二)ViewPager

2.1ViewPager简介

ViewPager是可以左右滑动的控件,需要PagerAdapter配合使用,由v4包提供,类全名: android.support.v4.view.ViewPager,实现的功能:页面可以左右滑动从而改变页面内容。

(三)导航栏的代码实现:

本篇博客一共有三个Demo,第一个和第二个Demo实现了导航栏功能,第三个Demo模拟了一个App的欢迎界面(其实也类似于导航栏)

3.1 FragmentDemo1

3.1.1界面功能展示

3.1.2代码实现

我们可以看到,进行切换的一共有三个页面(红,黄,绿),所以我们在layout中添加了三个布局


同时创建三个Fragment分别关联三个布局

接下来便是设计主界面,首先放置一个ViewPager,值得注意的是ViewPager来自于android.support.v4包中,在进行调用的时必须写出完整的报名,而导航栏这里选择用同在一个包中的PagerTapStrip



新建一个Activity继承与FragmentActivity(来自于与ViewPager同样的包:Android.support.v4)


实现init()函数,实现控件的初始化工作


由于ViewPager需要使用对应的适配器进行数据的填充,我们重写一个子类MyPagerAdapter继承于FragmentPagerAdapter    


我们需要重写的是其下面的四个方法,需要完成的代码部分都比较简单


然后在OnCreate方法中调用init()方法,给ViewPager设置适配器MyPagerAdapter


至此第一个Demo完成代码部分的编写,但是我们在运行的时候会发现,其PagerStripTap在滑动的过程中跟随着Fragment发生着变化,于是乎在Demo2中便想将其变成固定的部分,当Fragment切换到时候会产生颜色的变换效果但是位置并不发生改变,同时我们仍然可以通过点击导航栏更改其页面内容。

3.2 FragmentDemo2

3.2.1页面功能展示




3.2.2代码实现

我们首先将原有的PagerStripTap删除掉,加入三个TextView作为导航栏,并且选择了TextView作为导航栏与Fragment的分割线



这里我们将一些重复的属性写进了Style文件当中实现了代码的复用,减少了工作量,这样布局文件就算完成了。


这一部分Demo的代码有很大一部分与Demo1的代码相似,同样都需要实现继承与父类PagerAdapter的子类MyAdapter,需要重写的方法也大致相同



因为我们导航栏是由自己实现的,而不是用包中提供的控件,所以不同还是体现在控件的初始化方法中,我们希望页面在切换的时候,由TextView组成的导航栏也能够做出相应的变化,这肯定需要用到监听函数监听页面的变化,而ViewPager也正好为我们提供了我们需要的方法;同时我们还需要通过点击导航栏能够更改页面内容,那么对于导航栏中的每一个TextView我们都应该实现对应的点击监听函数




最后一步同样是重写OnCreate方法,将activity与布局相关联,初始化控件以及为PagerAdapter设置适配器。


3.3 FragmentDemo3

3.3.1页面功能展示

我们在Demo3中将实现App常见的欢迎页功能,页面的最下方有小圆点标识当前所在的位置,我们可以通过滑动也可以通过点击小圆点更改当前页面



3.3.2 代码实现

首先完成布局文件,小圆点所使用的控件是ImageView


值得注意的是我们在完成布局时候还用到了XML文件dot


这样可以根据状态实现其对应图标的动态更改

同样该demo的activity继承与FragmentActivity,与之前的Demo有很多相同的东西,甚至可以由Demo2的代码复制粘贴,将Demo2 的TextView更改为Demo3的ImageView,因此该部分的代码我便没有添加注释。






(四)总结

本篇博客一共讲了三个最简单的Fragment以及ViewPager的综合应用,主要是为了了解与加深自己对Fragment使用的熟悉程度,而真正的应用中所需要考虑的情况远远不止文中提到的,作为初学者,打算先将Fragment的知识告下一个段落,接下来的学习打算了解Android中最常见的控件之一-ListView的使用方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值