Fragment探索

  同一个界面在手机上显示很正常也很好看(前提是你做的好看^-^),但是在平板上就不好说了,界面被拉长,控件之间间隙很大难看,那么怎么办呢?没错,就是Fragment


转载请注明出处:Vincent Blog‘s

  在Android中显示界面都是通过Activity,相信大家对Activity一点都不陌生吧,是不是早已烂熟于胸,这里我们就不过多解释。但是Activity并不是我们想象的那么好,Activity也是有局限性的,同一个界面在手机上显示很正常也很好看,但是在平板上就不好说了,它们两者之间的大小尺寸各不相同(自己脑补..),界面被拉长,控件之间间隙很大很难看,那么我们就没有解决的办法吗?别担心万能的google在Android3.0已经为我们引入了Fragment,Fragment可以让界面更好的在平板上显示,它与Activity很类似,同样可以包含布局。通常Fragment与Activity是嵌套使用,所以Fragment的生命周期与它所在的Activity密切相关。

Fragment生命周期详解

首先来一波官方文档提供的图片

这里在放一张Activity与Fragment之间的生命周期对比图

是不是一目了然,为了更好的体现,我们自己用代码实现,好了废话不多说,上代码:

-MainActivity.java的布局文件

MainActivity.java

-MyFragment.java

看一下跑起来的Log信息:

按下HOME时(打开其它程序或者接电话)程序后台运行时:

重新进入程序:

-按返回键退出程序:

从上面可以看出Fragment和Activity的生命周期很相似,只有个别是不相同的,如下:

onAttach方法:Fragment和Activity建立关联的时候调用(获得activity的传递的值)

onCreateView方法:为Fragment创建视图(加载布局)时调用(给当前的fragment绘制UI布局,可以使用线程更新UI)

onActivityCreated方法:当Activity中的onCreate方法执行完后调用(表示activity执行oncreate方法完成后会调用此方法)

onDestroyView方法:Fragment中的布局被移除时调用(表示fragment销毁关联的UI布局)

onDetach方法:Fragment和Activity解除关联的时候调用(脱离activity)

ok,Fragment生命周期到这里就结束了,是不是很简单!

Fragment之间通信

  我们知道,Activity之间是可以进行通信的,而且有多种通信方法,相信大家多多少少都掌握了几种,这里我们就不过多解释。一个Activity可以包含多个Fragment,那么,大家不知道有没有想过Fragment之间是否可以通行,答案是肯定的,那么问题来了怎样进行通信?

  其实他们之间通信很简单,我们在这里就讲其中一种,其它的方法有兴趣的朋友可以去研究研究,两个Fragment之间通信我们必须要经过Activity这个桥梁,上面我们已经讲了Fragment是依赖于Activity,那么我们可以通过getActivity来获取关联的Activity的方法,这样我们就很容易实现他们的通信。这样说可能不是很清楚,我们通过一个Demo来理解,老规矩还是上代码。

先看要完成的效果图,有图有真相:

目录结构(java + 布局):

LeftFragment.java核心代码

RigntFragment.java核心代码

MainActivity.java核心代码

leftfragment.xml

rightfragment.xml

activty_main.xml

  这里我在啰嗦几句,MainActivity包含两个Fragment,这里采用的是静态加载Fragment,可想而知,既然有静态那么肯定也有动态,如果小伙伴们不清楚这两种用法可以留言或者自己问`google`,细心的朋友可能发现我在讲生命周期那一点时加载Fragment的方式跟这里不同,没错,就是动态加载。

  OK!大功告成,Fragment探索告一段落,当然Fragment肯定不止这一点,更多的功能待大家去挖掘。下篇文章我们再见^-^


每日一碗鸡汤

别受了点伤就一蹶不振,毕竟未来还有许多大风大浪等待着你去乘风破浪。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容