今天讲的是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)的分页操作的更多相关文章

  1. Android ViewPager Fragment使用懒加载提升性能

     Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...

  2. Android -- ViewPager、Fragment、状态保存、通信

    工程架构                                                                                      TabAFm到Tab ...

  3. Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...

  4. Android之碎片Fragment

    Fragment是个特别的存在,有点像报纸上的专栏,看起来只占据页面的一小块,但是这一小块有自己的生命周期,可以自行其是,仿佛独立王国,并且这一小块的特性无论在哪个页面,给一个位置就行,添加以后不影响 ...

  5. Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)

    注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...

  6. Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml

    Android开发:碎片Fragment完全解析   为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activi ...

  7. [Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)

    接上文: https://www.cnblogs.com/wukong1688/p/10693338.html Android ViewPager 中加载 Fragmenet的两种方式 方式(一) 二 ...

  8. [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)

    Android ViewPager 中加载 Fragmenet的两种方式 一.当fragment里面的内容较少时,直接 使用fragment xml布局文件填充 文件总数 布局文件:view_one. ...

  9. Android ViewPager + Fragment实现滑动页面

    效果: PagerData类: package com.cloud.viewpagerdemo; import java.io.Serializable; class PagerData implem ...

随机推荐

  1. day11 本日作业+周末作业

    目录 一.今日作业 1.编写文件copy工具 2.编写登录程序,账号密码来自于文件 3.编写注册程序,账号密码来存入文件 二.周末综合作业: 1.编写用户登录接口 2.编写程序实现用户注册后,可以登录 ...

  2. WPF基于.Net Core

    WPF基于.Net Core 因为最近.net core的热门,所以想实现一下.net core框架下的WPF项目,还是MVVM模式,下面就开始吧,简单做一个计算器吧. 使用VS2019作为开发工具 ...

  3. java 面向对象(十五):面向对象的特征三:多态性

    1.多态性的理解:可以理解为一个事物的多种形态.2.何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)举例:Person p = new Man();Object obj ...

  4. keyring源码加密解密函数分析

    Encrypt the page data contents. Page type can't be FIL_PAGE_ENCRYPTED, FIL_PAGE_COMPRESSED_AND_ENCRY ...

  5. Quartz.Net系列(十四):详解Job中两大特性(DisallowConcurrentExecution、PersistJobDataAfterExecution)

    1.DisallowConcurrentExceution 从字面意思来看也就是不允许并发执行 简单的演示一下 [DisallowConcurrentExecution] public class T ...

  6. C、C++、Java到Python,编程入门学习什么语言好?

    摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要. 最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C ...

  7. 牛客网Java工程师能力评估

    感觉很奇怪,出的题做完之后感觉自己没学过Java一样,不过凭借一些做题的技巧和一些记忆,正确率百分之50,排名前百分之30多,记录一下这次的题目,方便我以后进行二次复习吧 1.下面有关JVM内存,说法 ...

  8. [redis] -- 过期策略篇

    过期处理 定期删除 redis默认是每隔 100ms 就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除 惰性删除 定期删除可能会导致很多过期 key 到了时间并没有被删除掉.所以就 ...

  9. 使用 Azure Blob Stoage 实现一个静态文件服务器

    什么是Azure Blob Stoage Azure Blob Stoage 是微软Azure的对象存储服务.国内的云一般叫OSS,是一种用来存储非结构化数据的服务,比如音频,视频,图片,文本等等.用 ...

  10. 4. JSON字符串是如何被解析的?JsonParser了解一下

    公司不是你家,领导不是你妈.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...