使用Fragments来构建动态UI

为了在Android上为用户提供动态、多窗体的交互体验,我们需要将UI组件和Activity操作封装成模块来使用,使得我们可以在众多Activities之间来回切换。Android SDK给我们提供了Fragment类来构建这些模块,Fragment本身就像是一个嵌套的Activity,有自己的布局并管理自己的生命周期。

当一个Fragment定义了自己的布局之后,它就可以在某个Activity当中和其它Fragments自由组合,从而为不同屏幕尺寸的设备生成不同的布局。

本文将展示如何用Fragment来创建动态界面,并且在不同屏幕尺寸的设备上优化App的用户体验。

创建一个Fragment

Fragment翻译过来是"片段,部分"的意思,我们可以把它看做是Activity的一种模块化的部分,它拥有自己的生命周期,接收自己的输入事件,可以再Activity运行过程中添加或者移除(有点"子Activity"的意思,可以在多个Activity中复用)。

那么怎样创建一个Fragment呢?

创建一个Fragment,首先要继承Fragment类,然后重写关键的生命周期回调函数来实现应用逻辑,过程类似Activity的创建,唯一不同的是在创建一个Fragment的时候必须重写onCreateView()回调方法来定义布局,而这也是让Fragment运行起来唯一要做的事情。

Fragment是一个可重用的、模块化的组件,每个Fragment的实例都必须和一个FragmentActivity关联,这种关联的实现方式之一是通过在Activity的XML布局文件中定义Fragment元素来实现,但此时的Fragment是不能被动态移除的。

构建灵活动态的UI

与其它Fragments交互

时间: 2024-07-30 10:08:37

使用Fragments来构建动态UI的相关文章

Android学习路线(二十)运用Fragment构建动态UI

要在Android系统上创建一个动态或者多面板的用户界面,你需要将UI组件以及activity行为封装成模块,让它能够在你的activity中灵活地切换显示与隐藏.你可以使用Fragment类来创建这些模块,它们能够表现得有些像嵌套的activity,它们定义着自己的布局,管理自己的生命周期. 当一个fragment指定了它自己的布局,它可以在activity中和其他的fragment配置为不同的组合,这样就能够为不同的屏幕尺寸来修改你的布局配置(在小屏幕上一次展现一个fragment,而在大屏

Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment

你可以把fragment看成是activity的模块化部分,它拥有自己的生命周期,接受它自己的输入事件,你可以在activity运行时添加或者删除它(有点像是一个"子activity",你可以在不同的activity中重用它).本课将向你展示如何使用Support Libaray继承 Fragment 类来让你的应用能够兼容正在运行Android 1.6的设备. 提示: 如果你决定你的应用需求的最低API级别是11或者更高,那么你不需要使用Support Library,你可以直接使用

Android学习路线(二十二)运用Fragment构建动态UI——构建一个灵活的UI

先占个位置,下次翻译 :p When designing your application to support a wide range of screen sizes, you can reuse your fragments in different layout configurations to optimize the user experience based on the available screen space. For example, on a handset devi

Android学习路线(二十三)运用Fragment构建动态UI——Fragment间通讯

先占个位置,下次翻译 :p In order to reuse the Fragment UI components, you should build each as a completely self-contained, modular component that defines its own layout and behavior. Once you have defined these reusable Fragments, you can associate them with

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

VivaldiFox扩展:让Firefox获得动态UI颜色功能

在过去数周,一款非常有趣的扩展程序亮相Mozilla的附加组件库,这款名为VivaldiFox的扩展程序为Firefox浏览器添加了动态UI颜色选项.在Vivaldi发布的时候,这项功能使其成为区别现有浏览器的重要体现,这项功能至今没有被其他竞争对手复制. 在Vivaldi浏览器中,当用户访问网站的时候浏览器将会发掘网页的重要配色随后部署在UI顶层和目前选择的标签,这项功能需要一些时间来习惯,但是却帮助Vivaldi有别于其他浏览器,如果用户不想要这个,则可以在Vivaldi的设置面板中进行关闭

[转]C语言构建动态数组完整实例

原文地址:http://www.jb51.net/article/52153.htm 本文以一个完整的实例代码简述了C语言构建动态数组的方法,供大家参考,完整实例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h> #include <malloc.h> int main(void) {     int len;     int * arr;     printf("请输入数组长度:&q

【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI

注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 5: Creating a Dynamic UI with Knockout.js 第5部分:用Knockout.js创建动态UI 本文引自:http://www.asp.net/web-api/overview/creating-web-apis/using-web-api-with-entity-framework/using-web-api-with-entity-fra

使用Expression Tree构建动态LINQ查询

这篇文章介绍一个有意思的话题,也是经常被人问到的:如何构建动态LINQ查询?所谓动态,主要的意思在于查询的条件可以随机组合,动态添加,而不是固定的写法.这个在很多系统开发过程中是非常有用的. 我这里给的一个解决方案是采用Expression Tree来构建. 其实这个技术很早就有,在.NET Framework 3.5开始引入.之前也有不少同学写过很多不错的理论性文章.我自己当年学习这个,觉得最好的几篇文章是由"装配脑袋"同学写的.[有时间请仔细阅读这些入门指南,做点练习基本就能理解]