小猪Android越来越方式 Day 5 - part 2
Activity片段:Fragment(碎片)
------转载请注明出处:coder-pig
本节引言:
在part 1中我们对android的基本单元Activity进行了具体的解析,而在part 2中我们将会解说
Activity片段:Fragment(碎片),一開始是为了简化大屏幕手机或者平板电脑的UI设计,可是如今也普遍用于
普通手机,比方Fragment + slideMenu实现側滑效果,在网上有非常多相关的样例,掌握了Fragment的基本使用方法
能够更加easy地去理解使用Fragment实现的一些效果的代码!
好了,直接開始本节内容吧。
本节学习路线图:
正文:
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
效果图例如以下:
比較简单,代码就不一一列出了,有须要的自己下载吧:參考代码下载
ps:Fragment的子类有:
对话框:DialogFragment 列表:ListFragment
选项设置:PreferenceFragment WebView界面:WebViewFragment
②动态载入Fragment
代码演示样例:切换横竖时替换Fragment
就是当我们切换横竖屏时载入不同的fragment,我们把动态载入fragment的方法写在Activity的onCreate()方法中
当我们切换横竖屏时,Activity就会被销毁,然后从新载入!
代码也非常easy,要的自己下载吧:代码下载
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 打开方式选定后默认了改不回来?解决方法(三星s7为例)
Android 打开方式选定后默认了改不回来?解决方法(三星s7为例) 刚刚在测试东西,打开一个gif图,然后我故意选择用支付宝打开,然后...支付宝当然不支持,我觉得第二次打开它应该还会问我,没想到 ...
- android post 方式 访问网络 实例
android post 方式 访问网络 实例 因为Android4.0之后对使用网络有特殊要求,已经无法再在主线程中访问网络了,必须使用多线程访问的模式 该实例需要在android配置文件中添加 网 ...
- 六 APPIUM Android 定位方式
文本转自:http://www.cnblogs.com/sundalian/p/5629500.html APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 An ...
- android存储方式的应用场景
作为一个完整的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.文件存储.SQLite. Content Provider ...
- Android动态方式破解apk进阶篇(IDA调试so源码)
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...
- Android动态方式破解apk终极篇(加固apk破解方式)
一.前言 今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为: 第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件 现在要说的就是最后一篇了,如何应 ...
- Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk 主要采用的是静态方式,步骤也很简单,首先使用 ...
- Android定位方式和测试方法
Android常用的三种定位方式有:基于GPS定位.基于基站地位.基于wifi定位. 1.基于GPS定位: GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的. GPS定位最 ...
- 五大Android布局方式浅析
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...
随机推荐
- HTML5学习笔记简明版(10):过时的元素和属性
被遗弃的元素(Element) 这个小节里列出的元素在HTML5里将不再使用,现有文档升级到 HTML5的话能够使用一些替代方案.比如parser section 能够处理isindex 元素的功能. ...
- 关于 pthread_cond_wait 和 pthread_cond_signal , signal 无效的问题
关于一个消费者模式,,,引起的问题.. 我在io线程里不断的把一个函数调用放到队列里 然后ruby线程就不断的从这个队列里取出函数之争并运行. 典型的 消费者模式. 我曾经以为是这样... 这是wor ...
- HDU 1086:You can Solve a Geometry Problem too
pid=1086">You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 创建和分析excel文件
jxl.jar:下载地址:http://download.csdn.net/detail/xuxu198899223/7717737 package excel; public class BookV ...
- MySQL JDBC的queryTimeout坑
遇到一个MySQL JDBC跑execute规定的方法queryTimeout坑,更恶心,无论是BUG,不能,^_^,为什么要说?请看下面的说明: 现象: 用同一个Connection运行大批量SQL ...
- 写得好 git 提交信息
编写好 git 提交信息 提交信息 我们作出答复,更改将提交相关信息,这些信息通常被认为是重要的信息会小心留下应该离开,你为什么需要这个提交实例,提交解决任何问题. 我们需要良好的信息组织,虽然后来, ...
- android开源系列:CircleImageView采用圆形控制它们的定义
1.定义自己的圆形控制github住址:https://github.com/hdodenhof/CircleImageView 基本的类: package de.hdodenhof.circleim ...
- Yii Framework2.0开发教程(5)数据库mysql性能
继续<Yii Framework2.0开发教程(3)数据库mysql入门> 首先给予一定的尊重yii2数据库支持引进 Yii 基于 PHP's PDO一个成熟的数据库访问层的建立.它提供了 ...
- Swiftly语言学习1
单纯值: 1.let常量声明,var声明变量(同时宣布福值,编译器会自己主动判断出类型) var myVariable = 42 myVariable 50 let myConstant = 42 l ...
- RQNOJ PID3 / Jam的计数法
题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字 ...