小猪的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的更多相关文章

  1. Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)

    Android 打开方式选定后默认了改不回来?解决方法(三星s7为例) 刚刚在测试东西,打开一个gif图,然后我故意选择用支付宝打开,然后...支付宝当然不支持,我觉得第二次打开它应该还会问我,没想到 ...

  2. android post 方式 访问网络 实例

    android post 方式 访问网络 实例 因为Android4.0之后对使用网络有特殊要求,已经无法再在主线程中访问网络了,必须使用多线程访问的模式 该实例需要在android配置文件中添加 网 ...

  3. 六 APPIUM Android 定位方式

    文本转自:http://www.cnblogs.com/sundalian/p/5629500.html APPIUM Android 定位方式   1.定位元素应用元素 1.1通过id定位元素 An ...

  4. android存储方式的应用场景

    作为一个完整的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.文件存储.SQLite. Content Provider ...

  5. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  6. Android动态方式破解apk终极篇(加固apk破解方式)

    一.前言 今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为: 第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件 现在要说的就是最后一篇了,如何应 ...

  7. Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

    一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用 ...

  8. Android定位方式和测试方法

    Android常用的三种定位方式有:基于GPS定位.基于基站地位.基于wifi定位. 1.基于GPS定位: GPS定位需要GPS模块(硬件)的支持,没有GPS模块是无法进行GPS定位的. GPS定位最 ...

  9. 五大Android布局方式浅析

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...

随机推荐

  1. Windows下 C++ WT +VS2013配置

    引出 最近在学习使用C++,另外对建站有点兴趣,所以就找到了WT.对于WT的详细介绍,这里不讲,直接看官网就好. 此文为本人原创,转载请注明出处. 先丢出官网上的干货: WT官方网站: https:/ ...

  2. myeclipse egit 安装失败 org.eclipse.e4.ui.css.swt.theme 0.0.0

    [前言] 首先确保您可能会被安装在阅读本文之前,myeclipse egit, 见文章:http://blog.csdn.net/uikoo9/article/details/17247405 事实上 ...

  3. 【CTO辩论】移动创业大军:谁斗争or变更代理

    众创时代.英雄辈出. 但千军万马过独木桥,竞争厮杀也异常残酷.有人说,这个时代不宜创业,由于技术门槛高了.推广难度高了.盈利模式没了.创业变重了.玩法变了...... 也有人说,时势造英雄.天时地利人 ...

  4. Nyoj 一笔画问题(图论)

    描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数N(N&l ...

  5. .NET中Redis安装部署及使用方法简介

    一Redis服务端以服务方式运行 修改端口压缩文件中配置的是6488 修改密码 修改库的数量 工具配置安装后如下图 二Redis服务端以控制台方式运行 第一步配置本地服务 第二部安装和配置客户端 三C ...

  6. css+html菜单适应性学习的宽度

    本文就是利用css和html自适应于文本菜单的长度. 后效果图实现,例如下列: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvajkwMzgyOTE4Mg= ...

  7. 华为G520联通版刷机包 基于MIUI CM11新 平稳 稳定

    ROM介绍 刷先配置双卡:"设定-安卓原生设置-双卡套-配置订阅",否则,无信号 使开发人员选项方法:"设定-安卓原生设置-关于手机-发布"连续点击版本 启用A ...

  8. iOS8自适应布局视频教程

    联系:http://www.elsyy.com/course/6480 这是颐和园最近录制iOS8视频课程.简介iOS8出现在自适应布局. 本教程的书,颐和园<ios8 swift编程指南> ...

  9. __doPostBack 未生成

    事情是这样的: asp.net 项目 采用了 DevExpress 第三方控件,然后 网站架设在  win2003 服务器上面. 本地测试 都是 OK的,然而 ,在服务器 上面 却出现了  __doP ...

  10. likely()与unlikely()

    he gcc C compiler has a built-in directive that optimizes conditional branches as either very likely ...