小猪的Android入门之路
Day 5 - part 2

Activity片段:Fragment(碎片)

                                 ------转载请注明出处:coder-pig



本节引言:

在part 1中我们对android的基本单元Activity进行了具体的解析,而在part 2中我们将会解说

Activity片段:Fragment(碎片),一開始是为了简化大屏幕手机或者平板电脑的UI设计,可是如今也普遍用于

普通手机,比方Fragment + slideMenu实现側滑效果,在网上有非常多相关的样例,掌握了Fragment的基本使用方法

能够更加easy地去理解使用Fragment实现的一些效果的代码!

好了,直接開始本节内容吧。小猪Android越来越方式 Day 5 - part 2-LMLPHP





本节学习路线图:

小猪Android越来越方式 Day 5 - part 2-LMLPHP





正文:



Fragment的概述与生命周期图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZXJfcGln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

创建Fragment的流程

①静态载入Fragment:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZXJfcGln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

代码演示样例:

将Activity划分为两个Fragment

效果图例如以下:

小猪Android越来越方式 Day 5 - part 2-LMLPHP

比較简单,代码就不一一列出了,有须要的自己下载吧:參考代码下载

ps:Fragment的子类有:

对话框:DialogFragment      列表:ListFragment     

选项设置:PreferenceFragment       WebView界面:WebViewFragment

②动态载入Fragment

小猪Android越来越方式 Day 5 - part 2-LMLPHP

代码演示样例:切换横竖时替换Fragment

小猪Android越来越方式 Day 5 - part 2-LMLPHP

就是当我们切换横竖屏时载入不同的fragment,我们把动态载入fragment的方法写在Activity的onCreate()方法中

当我们切换横竖屏时,Activity就会被销毁,然后从新载入!

代码也非常easy,要的自己下载吧:代码下载

Fragment与Activity的交互

小猪Android越来越方式 Day 5 - part 2-LMLPHP

Fragment管理与Fragment事务

小猪Android越来越方式 Day 5 - part 2-LMLPHP

代码演示样例:点击左边的列表项,右面显示出对应的具体信息:

效果图例如以下:

竖屏时:

小猪Android越来越方式 Day 5 - part 2-LMLPHP

横屏时:

小猪Android越来越方式 Day 5 - part 2-LMLPHP

这个代码对于新手来说有点难理解:只是已经算是比較简单的样例了,对照起側滑来说:

要自己琢磨琢磨!參考代码下载: 代码下载

注意:

①在ListFragment.java用到一个savedInstanceState的属性,以及重写了

onSaveInstanceState()方法;当一个Activity结束前,假设须要保存状态,

我么能够在onsaveInstanceState中,将状态数据以key-value的形式放入

到savedInstanceState中。

这样,当一个Activity被创建时,

就能从onCreate的參数savedInsanceState中获得状态数据。

②代码中创建了一个layout_land的目录,相信非常多朋友都在找这个布局什么时候载入的

可是找来找去还是找不到是吧!事实上这个是默认载入的;假设我们的app想要支持横屏,会取

同名的layout_land目录下;相同竖屏的话layout_port,layout的话就是默认了!

③假设认为上述的样例难以理解或者枯燥无味,能够看下大牛郭大叔的一个非常好的样例:

使用Fragment实现Tabhost的效果:传送门



---谢谢某读者的热心提醒!小猪Android越来越方式 Day 5 - part 2-LMLPHP

ps:Fragment的基础部分临时就讲这么多,Fragment是android UI开发中非常重要的一环,

以后会结合着实例进行解说!兴许还会有深入讲的课程!

谢谢\(^o^)/

版权声明:本文博客原创文章。博客,未经同意,不得转载。

05-11 13:23