android开发官方教程之Building a Dynamic UI with Fragments

1**Fragments 是小碎片的意思。**

1.创建一个Fragments.

2.Fragments对不同屏幕大小设备的调整

3.Fragments的交互

2**Fragments 像什么?**

Fragments 有点像sub-activity,能在不同的Activity里面重复使用,拥有自己生命周期。能添加,删除。这课程告诉你怎么扩展Fragment。

Fragments涉及support Library .support Library是什么意思?

Android support Library 是代码库的集合,并向下兼容android向下的版本。每一个库包含了一个特点功能集。同时可以使用新的功能,并向下兼容旧版本。

3.创建一个Fragment 类

1.创建一个类 extends Fragment。

2.重写Fragment里面的方法。给Fragment布局的函数是onCreatView().

note:调用Activity里面的pause()方法,所有的fragment里面的pause方法会调用。

4.Fragment的生命周期

1.开始创造Fragment 调用

onAttach,onCreate,…,onResume.

2.从Fragment到桌面 or屏幕上锁,Fragment没有毁灭。

再从桌面 or屏幕解锁,不要创建Frament,直接onStart,

onResume。

3.从Fragment切换到新的Fragment,Fragment消失。

onPause,onDestoryView,再回本Fragment,要creatView,创建Fragment。

4.退出应用,

5.Add a Fragment to an Activity using XML

Fragment可以重用,每一个Fragment实例与FragmentActivity关联,并在XML上实现这种关联。

再MainActivity继承FragmentActivity or ActionBarActivity(v7 appcompat library)

6.Building a Flexible UI

在 handset 手机里面,屏幕小只能放一个Fragment.而tablet可以放

并side-by-side放两个。

FragmentManager提供许多方法管理Fragment.比如添加,删除,修改。

7.Add a Fragment to an Activity at Runtime

1.FragmentManager创建一个对象FragmentTransaction来管理Fragment,

2.动态Fragment,必须在activity里面的onCreate创建,必须有一个View,

3.FrameLayout扮演者Fragment容器,为了Fragment之间的转换,必须添加改容器。

4.最后要提交事务transaction.

5.添加Fragment方法有getSupportFragmentManager().beginTransaction()

.add(R.id.fragment_container, firstFragment).commit();

8.Replace One Fragment with Another

执行Replace操作,跟从create一样,只是把add,改成Replace。

当导航backward,undo,你必须在提交前执行FragmentTransaction的addToBackStack()方法。放在栈中,不会摧毁Fragment,否则摧毁。

addToBackStack让用户能向后导航fragment事务。

9.Fragment之间的交互

Fragment之间的交互是在关联的Activity之间交互。两个Fragment不能之间交互。

每个Fragment都有一个只包含,模块组件,定义它的布局,和行为。

定义好的Fragment让他与activity关联,使它与application逻辑关联起来,实现全局的复合的UI.

10.定义接口

在Fragment定义一个接口。

并在Activity中实现这个接口。在onAttach()方法中捕捉接口的实现。然后调用接口来实现。 onArticleSelected()。

为了接受Fragment里面onArticleSelected里面的消息,下面的Activity实现上面的接口。

宿主Fragment同findFragmentById()方法来获取fragment的实例。

时间: 2024-11-02 16:49:38

android开发官方教程之Building a Dynamic UI with Fragments的相关文章

IOS8开发视频教程之:基于Swift实战UI从入门到精通

IOS8开发视频教程之:基于Swift实战UI从入门到精通(5大项目.深入解析拉手团购项目)课程讲师:朱启文课程分类:IOS适合人群:初级课时数量:81课时用到技术:Swift.iOS8涉及项目:移动的图片案例.图片展示案例.汤姆猫案例.拉手团购案例.九宫格案例咨询QQ:1840215592 一.iOS8开发基于Swift实战UI初级课程移动的图片案例(共9课,完成9课)通过该案例,让大家掌握UIButton控件与UIImage区别使用,掌握IB连线的各类方法 tag使用,transform/f

4. Building a Dynamic UI with Fragments 使用片段构建动态UI

To create a dynamic and multi-pane user interface on Android, you need to encapsulate UI components and activity behaviors into modules that you can swap into and out of your activities. You can create these modules with the Fragment class, which beh

Firefly官方教程之DBentrust使用文档

1.dbentrust说明 该模块主要是对数据库与memcached存储的处理.里面封装了从memcached数据到python对象的映射.可以以操纵python对象的方式进行memcached中存储的数据的操作,只要在不同的进程中实例化相同名称的memobject对象,就能保证对象中的数据是一致的.还包含了将这个对象中的数据同步到数据库的处理方法. 2.结构解析 <ignore_js_op> MemObject类规定了数据的格式,所有的数据都存储在memcached中,为了区分不同的数据,每

Firefly官方教程之Distributed使用文档

distributed使用文档1.distributed说明该模块主要封装了各个服务进程间进行通信的方法.node子节点域root根节点进程中的接口调用返回的都是延迟对象.关于延迟对象的使用,详见twisted中Deferred对象.2.结构解析 <ignore_js_op> PBRoot,root节点对象ChildsManager,子节点管理基类Child对象对应的是连接到本服务进程的某个服务进程对象.称为子节点对象RemoteObject远程调用对象,子节点服务进程中实现.可以通过这对象去

Firefly官方教程之Netconnect使用文档

1.distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题.2.结构解析 LiberateFactory,协议工厂,所有连接的本质,服务端与客户端通信的这一行为的形象化,它包含三个部分:1)LiberateProtocol,通信协议类,连接建立.断开后的操作,发送数据等都由它来控制2)DataPackProtoc,数据包协议的定义,所有的数据解析都要遵守它定制的规则3)ConnectionManager,连接管

配置好的android开发环境 带实例---Android 开发实例教程一

一.版本说明 JDK:jdk1.7.0_15 ADT:v22.3.0-887826 已经配置好的开发环境(jdk1.7+adt22+api19+eclipse4.2.1)平台,打开即可用,同时workspace已经存在可以直接运行的实例(仿美团.淘宝格式). 真真的方便快捷. 二.下载地址 链接:http://pan.baidu.com/s/1bcy7O 密码:mo8a  好用别忘点赞,方便大家使用 三.配置说明 1.adt-bundle-windows-x86-20131030 解压到D盘根目

Android 命令行开发入门教程之1

其实,掌握记事本+命令行的编程方式是非常有效的,无论是电脑硬件配置和性能问题的制约,还是对于了解程序内部运行机制.调试等也有很好的帮助.但是很多人因为惧怕或者讨厌使用这种费力的编写习惯也是能够理解的,但这都是表面的现象,后序的工作一样是简单的.可重用的. 其实,掌握记事本+命令行的编程方式是非常有效的,无论是电脑硬件配置和性能问题的制约,还是对于了解程序内部运行机制.调试等也有很好的帮助.但是很多人因为惧怕或者讨厌使用这种费力的编写习惯也是能够理解的,但这都是表面的现象,后序的工作一样是简单的.

Google官方教程之Selling In-app Products

1.原文链接[需FQ]:http://developer.android.com/training/in-app-billing/index.html 2.平时对于英文文档都是大概读一下,现在翻译文章,就需要咬文嚼字了,其中有很多觉得可能翻译错了或者翻译不好的都加了注解,希望高手回复个你觉得好的翻译. 3.本篇可能翻译第一,应用第二,实在没收获的就去看我先前的那篇支付博文^_^. 售卖In-app商品 依赖和前提条件 Android 2.2 or higher 需要阅读的 In-app Bill

Android开发之在子线程中更新UI

转自第一行代码-Android Android是不允许在子线程中进行UI操作的.在子线程中去执行耗时操作,然后根据任务的执行结果来更新相应的UI控件,需要用到Android提供的异步消息处理机制. 代码如下: 1 public class MainActivity extends Activity implements OnClickListener { 2 private static final int UPDATE_TEXT=1; 3 private TextView textView;