小猪的Android入门之路 Day 5 - part 2
来源:互联网 发布:c语言中的void 编辑:程序博客网 时间:2024/06/08 23:34
Activity片段:Fragment(碎片)
------转载请注明出处:coder-pig
本节引言:
在part 1中我们对android的基本单元Activity进行了详细的解析,而在part 2中我们将会讲解
Activity片段:Fragment(碎片),一开始是为了简化大屏幕手机或者平板电脑的UI设计,但是现在也普遍用于
普通手机,比如Fragment + slideMenu实现侧滑效果,在网上有很多相关的例子,掌握了Fragment的基本用法
可以更加容易地去理解使用Fragment实现的一些效果的代码!
好了,直接开始本节内容吧!
本节学习路线图:
正文:
Fragment的概述与生命周期图:
创建Fragment的流程
①静态加载Fragment:
代码示例:
将Activity划分为两个Fragment
效果图如下:
比较简单,代码就不一一列出了,有需要的自己下载吧:参考代码下载
ps:Fragment的子类有:
对话框:DialogFragment 列表:ListFragment
选项设置:PreferenceFragment WebView界面:WebViewFragment
②动态加载Fragment
代码示例:切换横竖时替换Fragment
就是当我们切换横竖屏时加载不同的fragment,我们把动态加载fragment的方法写在Activity的onCreate()方法中
当我们切换横竖屏时,Activity就会被销毁,然后从新加载!
代码也很简单,要的自己下载吧:代码下载
Fragment与Activity的交互
Fragment管理与Fragment事务
代码示例:点击左边的列表项,右面显示出相应的详细信息:
效果图如下:
竖屏时:
横屏时:
这个代码对于新手来说有点难理解:不过已经算是比较简单的例子了,对比起侧滑来说:
要自己琢磨琢磨!参考代码下载: 代码下载
注意:
①在ListFragment.java用到一个savedInstanceState的属性,以及重写了
onSaveInstanceState()方法;当一个Activity结束前,如果需要保存状态,
我么可以在onsaveInstanceState中,将状态数据以key-value的形式放入
到savedInstanceState中。这样,当一个Activity被创建时,
就能从onCreate的参数savedInsanceState中获得状态数据。
②代码中创建了一个layout_land的文件夹,相信很多朋友都在找这个布局什么时候加载的
但是找来找去还是找不到是吧!其实这个是默认加载的;如果我们的app想要支持横屏,会取
同名的layout_land文件夹下;同样竖屏的话layout_port,layout的话就是默认了!
③如果觉得上述的例子难以理解或者枯燥无味,可以看下大牛郭大叔的一个很好的例子:
使用Fragment实现Tabhost的效果:传送门
---谢谢某读者的热心提醒!
ps:Fragment的基础部分暂时就讲这么多,Fragment是android UI开发中很重要的一环,
以后会结合着实例进行讲解!后续还会有深入讲的课程!谢谢\(^o^)/
- 小猪的Android入门之路 Day 5 - part 2
- 小猪的Android入门之路 Day 5 - part
- 小猪的Android入门之路 Day 5 - part 1
- 小猪的Android入门之路 Day 8 part 5
- 小猪的Android入门之路 Day 3 - part 2
- 小猪的Android入门之路 Day 4 - part 2
- 小猪的Android入门之路 Day 7 part 2
- 小猪的Android入门之路 Day 8 part 2
- 小猪的Android入门之路 Day 9 part 2
- 小猪的Android入门之路 Day 3 - part 1
- 小猪的Android入门之路 Day 3 - part 3
- 小猪的Android入门之路 Day 4 - part 1
- 小猪的Android入门之路 Day 4 - part 3
- 小猪的Android入门之路 Day 4 - part 4
- 小猪的Android入门之路 Day 7 part 1
- 小猪的Android入门之路 Day 7 part 3
- 小猪的Android入门之路 Day 7 part 4
- 小猪的Android入门之路 Day 8 part 1
- 小猪的Android入门之路 Day 4 - part 3
- Golang初级系列教程-安装配置
- 小猪的Android入门之路 Day 4 - part 4
- 小猪的Android入门之路 Day 5 - part 1
- 博客--开始的故事
- 小猪的Android入门之路 Day 5 - part 2
- rails手脚架(scaffold)功能
- ssh 连接报错:debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
- Android实训案例(一)——计算器的运算逻辑
- Mysql事务及行级锁的理解
- 小猪的Android入门之路 Day 6
- 小猪的Android入门之路 Day 7 part 1
- 关于广域网环境TCP是否适用的问题
- Android Developer:构建超过65K方法的App