本节引言:
在part 1中我们对android的基本单元Activity进行了详细的解析,而在part 2中我们将会讲解
Activity片段:Fragment(碎片),一开始是为了简化大屏幕手机或者平板电脑的UI设计,但是现在也普遍用于
普通手机,比如Fragment + slideMenu实现侧滑效果,在网上有很多相关的例子,掌握了Fragment的基本用法
可以更加容易地去理解使用Fragment实现的一些效果的代码!
好了,直接开始本节内容吧!
正文:
代码示例:
将Activity划分为两个Fragment
效果图如下:
比较简单,代码就不一一列出了,有需要的自己下载吧:参考代码下载
ps:Fragment的子类有:
对话框:DialogFragment 列表:ListFragment
选项设置:PreferenceFragment WebView界面:WebViewFragment
个人看完博客后补充:
代码示例:切换横竖时替换Fragment
就是当我们切换横竖屏时加载不同的fragment,我们把动态加载fragment的方法写在Activity的onCreate()方法中
当我们切换横竖屏时,Activity就会被销毁,然后从新加载!
代码也很简单,要的自己下载吧:代码下载
代码示例:点击左边的列表项,右面显示出相应的详细信息:
效果图如下:
竖屏时:
横屏时:
这个代码对于新手来说有点难理解:不过已经算是比较简单的例子了,对比起侧滑来说:
要自己琢磨琢磨!参考代码下载: 代码下载
注意:
①在ListFragment.java用到一个savedInstanceState的属性,以及重写了
onSaveInstanceState()方法;当一个Activity结束前,如果需要保存状态,
我么可以在onsaveInstanceState中,将状态数据以key-value的形式放入
到savedInstanceState中。这样,当一个Activity被创建时,
就能从onCreate的参数savedInsanceState中获得状态数据。
②代码中创建了一个layout_land的文件夹,相信很多朋友都在找这个布局什么时候加载的
但是找来找去还是找不到是吧!其实这个是默认加载的;如果我们的app想要支持横屏,会取
同名的layout_land文件夹下;同样竖屏的话layout_port,layout的话就是默认了!
③如果觉得上述的例子难以理解或者枯燥无味,可以看下大牛郭大叔的一个很好的例子:
使用Fragment实现Tabhost的效果:传送门