Android ViewPager进行碎片(Fragment)的分页操作
今天讲的是ViewPager 这个东西就是
假设你写了Fragment和Fragment1两个界面,用这个控件就可以实现两个界面之间的滑动,而不用Intent去跳转;
注意: 在布局中定义控件的时候,
我们写的是系统自带的,我们写<ViewPager就好,等生成的时候选这个路径就行。
这个应该能看懂吧
我们在java里创建了个ui
ui里面有三个java类,用来装三个碎片视图的
碎片视图怎么写?前面的学习就晓得了,不过我们现在是写一个很简单的Fragment,就一个方法,一句话(不简单,你打我(不打脸就行))
三个视图都一样的结构,然后给它们把R.layout.fragment_mine,这种布局给创建,然后写上自己的布局。
最后主活动连接ViewPager:
其实可以自己写个适配器的,但是如果嫌麻烦就写个匿名适配器吧
这句话:
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager())
它就是创建一个适配器,然后是根据碎片分页适配器创建的,我们给这个适配器的参数给个碎片管理器给它
然后实现的方法,一个获得当前列表内容,一个获得列表个数。
我们写个碎片数组,是为了跳转数组,从而实现页面之间的滑动跳转。 写到这就可以滑动了
抱歉哈,因为我不知道上传录屏,就用图片表示,应该还算明显。
那个(首页,消息,我的)的按钮就是在主活动的布局里写的一些控件。
高级一点的就是用下面这些来监听,然后让他们控制下碎片的跳转。
因为准备工作已经做好,就直接在主方法里连接单选框,然后控制监听。
其实如果只是让单选框监听Fragment视图的话就用第一个方法就行,
第二个方法就是让视图监听单选框,因为我们的Fragment视图是可以自己滑动的,如果不同步就乱了。
所以我们滑动的时候也得监听,让单选按钮改变。
然后学长讲了一种动态生成按钮的方法,
自认为难度系数比较高,本牛崽搞半天也就晓得大概的意思,具体实现,多打几遍再说。
新建个活动,把前面实现ViewPager跳转的匿名适配器原封不动拿过来,
再创建这个活动的视图,把我们写的单选框按钮都删了(因为要动态生成嘛);
再创建一个布局,里面就写一个单选框组。
上面难度系数最高的就是那个迭代器遍历里面的东西;
这里就是给View打气(实例化),然后参数就是上下文是当前界面,那个单选框组就填充到那个创建的布局(里面只写了一个对话框的那个布局),
然后把它放到自己连接好的单选框组里,
接着用一个视图组接收,因为实例化的时候是视图,所以要强转。
接着就是创建单选框按钮,给它的内容就是那个视图组里的每一个子视图(就是我们写的碎片视图的当前位置,下标从0开始,所以的-1),
那为啥能拿到碎片视图,因为我们实例化的时候使用到的上下文是this,大概就能用这些碎片吧();
然后就给它强转一下变成单选框按钮,就可以设置单选框按钮组件的格式了,居中、插入按钮图片、改变按钮文本等
这样就能动态的开辟你的单选框按钮了。不过得看着视图的个数去开辟。
不过我发现好像并没啥好处,还不能给选框写监听。
但是学了就有用吧,没接触到,后面学长还会讲动态的这种写法,以后再补全这部分的详细内容吧。
周末结束啦!!!
Android ViewPager进行碎片(Fragment)的分页操作的更多相关文章
- Android ViewPager Fragment使用懒加载提升性能
Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...
- Android -- ViewPager、Fragment、状态保存、通信
工程架构 TabAFm到Tab ...
- Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解
原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...
- Android之碎片Fragment
Fragment是个特别的存在,有点像报纸上的专栏,看起来只占据页面的一小块,但是这一小块有自己的生命周期,可以自行其是,仿佛独立王国,并且这一小块的特性无论在哪个页面,给一个位置就行,添加以后不影响 ...
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)
注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
Android开发:碎片Fragment完全解析 为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activi ...
- [Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)
接上文: https://www.cnblogs.com/wukong1688/p/10693338.html Android ViewPager 中加载 Fragmenet的两种方式 方式(一) 二 ...
- [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)
Android ViewPager 中加载 Fragmenet的两种方式 一.当fragment里面的内容较少时,直接 使用fragment xml布局文件填充 文件总数 布局文件:view_one. ...
- Android ViewPager + Fragment实现滑动页面
效果: PagerData类: package com.cloud.viewpagerdemo; import java.io.Serializable; class PagerData implem ...
随机推荐
- __FILE__和__DIR__的用法
dirname(__FILE__)由两部分组成, __FILE__ 魔术变量和 dirname() 函数.__FILE__是当前脚本的绝对路径,通过 dirname() 函数后,就可以获得脚本所在目录 ...
- 数据可视化基础专题(十三):Matplotlib 基础(五)常用图表(三)环形图、热力图、直方图
环形图 环形图其实是另一种饼图,使用的还是上面的 pie() 这个方法,这里只需要设置一下参数 wedgeprops 即可. 例子一: import matplotlib.pyplot as plt ...
- 渐进式Web应用(PWA)
什么是渐进式Web应用? 渐进式Web应用是一种全新的Web技术,让Web应用和原生APP的体验相近或一致. 渐进式Web应用它可以横跨Web技术及Native APP开发的解决方案,对于开发者的优势 ...
- Unity - NavMeshAgent-GetStart
Select scene geometry that should affect the navigation – walkable surfaces and obstacles. Check Nav ...
- Ripple 20:Treck TCP/IP协议漏洞技术分析
本文由“合天智汇”公众号首发,作者:b1ngo Ripple 20:Treck TCP/IP协议漏洞技术分析 Ripple20是一系列影响数亿台设备的0day(19个),是JSOF研究实验室在Trec ...
- Go的100天之旅-06数组和Slice
目录 数组 Slice 数组 Go的数组和其它语言基本上一样,是长度固定的特定类型元素组成的序列,这基本上是所有语言数组的特性.和其它语言相比差异主要在声明和初始化的写法上,下面是简单声明一个数组: ...
- 6.ALOHA协议
动态媒体接入控制/多点接入特点:信道并非在用户通信时固定分配给用户. 一.纯ALOHA协议 纯 ALOHA协议思想:不监听信道,不按时间槽发送,随机重发.想发就发 二.时隙ALOHA协议 时隙 ALO ...
- 重学数据结构(三)——使用单链表实现LRU淘汰缓存机制
使用单链表实现LRU(Least Recently Used)淘汰缓存机制 需求:存在一个单链表,在单链表尾部的都是越早之前添加的元素. 当元素被访问到时,会添加进缓存(也就是这个单链表中). 如果这 ...
- vue学习(十六) 自定义私有过滤器 ES6字符串新方法 填充字符串
<div id="app"> <p>{{data | formatStr('yyyy-MM-dd')}}</p></div> //s ...
- 为什么Python适合初学者,一般要学习多久
为什么Python适合初学者?一般Python要学习多久?很多人都觉得,Python是一门很好学的语言,非常适合入门.但更多人都是不清楚具体原因的.那么,我们不如一起来看看Python为何更适合初学者 ...