`
javayestome
  • 浏览: 1040658 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Flex 3 布局容器学习笔记

阅读更多

赖勇浩( http://laiyonghao.com

国庆期间,做了不少基于 flex 的开发工作,对 flex 的布局容器有了进一步深入的理解,也找到不少非常棒的文章,分享到这里方便一下大家。

很好的文章

Flex3 界面布局教程 (1)

http://blog.chinaunix.net/u/21684/showart_691988.html

Flex3 界面布局教程 (2)

http://blog.chinaunix.net/u/21684/showart_692022.html

Flex 组件的定位和布局

http://www.adobe.com/cn/devnet/flex/quickstart/layout_modes/

Using Layout Containers

http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_07.html

基本上看完前三篇,这方面就能搞得很好了;最后一篇是官方的关于布局容易的手册,有空的时候看看,可以了解更多细节。下面开始分享我的学习笔记(有润色),内容没有脱离上面的四篇文章,没兴趣的朋友可以跳过不看了。

定位模式

要想弄明白 flex 的界面布局,就有必要先弄明白它的定位模式。 flex 的自由之处在于你可以在 mxml 里写上许多定位模式的代码,当这些定属性发生冲突时,它会自动根据优先级来执行优先级最高的定属性。你不用担心记不住这些优先级, flex 这个 IDE 在检测到冲突时,会在 problem 框里显示一个警告,这样你可以去掉优先级比较低的定位属性了。

众多的定位模式中第一个是绝对模式,即你通过确定的数值来设定 x y width height 属 性;使用绝对模式你需要知道你的控件摆在哪个位置和确定它的大小,显然地这很难让你的客户方便地获得适应客户屏幕和习惯的布局,所以我们更常用的是自动定 位;自动定位仍然不够灵活,这时我们可以使用基于约束的布局,顾名思义,这是一种通过描述其与容器的关系来实现布局的方法,通过使用子组件的 top bottom left right horizontalCenter verticalCenter 样式属性来指定限制。关于这方面的更多内容,可以通过上面推荐的第三篇文章来了解。

HBoxVBox Spacer

这两个 Box 类是“看不见”的控件,用来约束其中的组件布局。如果你用过 wxWidgets 那一定对它们相当熟悉了,这种基于 Box 的布局方法加上约束属性,可以很容易地做出随着父控件的大小变化而相应地保持比例的变化,唉啊,想起当年用 MFC 实现这样的效果,我写了多少代码,调试了多少个夜晚啊!

Box 控件中,某两个控件之间的距离由 verticalGap 属性设定,默认值并不是 0 ,所以如果你想把两个控件紧挨在一起,需要手动把它设置为 0 ;如果你想单独地调整某两个控件间的间隔,那么可以使用“看不见的看得见的”控件 Spacer 来隔开它, Spacer 在界面上显示为一个纯透明的组件,所以看不见,但又能起到空白的作用,所以又看得见,它的 width height 属性可以相对应地让 HBox VBox 控制的组件更加漂亮。

ApplicationControlBar

如果你用 Win32 SDK MFC 界面编程的经历,你一定为“在工具栏上加一个 ComboBox Edit 的需求”而抓狂过吧?现在不用怕了,来到 flex 的世界,像这种问题,用 ApplicationControlBar 是相当相当地小 case 。看看下面这个图多复杂,用了它,就是一个 1 + 1 = 2 的小 case 了。


DividedBoxHDividedBox VDividedBox

别说是用 MFC ,哪怕是用 wxWidgets ,做一个可以随时拖放改变切分比例的分割组件也是困难的,但到了 Flex 的时代,一切都变得非常容易了,使用 DividedBox 及其子类可以像使用 Box 及其子类那样方便地分割组件,下面就是一个活生生的例子,拖动中间的分隔条,可以随时改变大小比例。


除了这些以外,还有最常用的容器 Canvas ApplicationControlBar 的基类 ControlBar 、很有 web 特色的 Form, FormHeading, and FormItem 、与 Box 类似的 Grid 、以及 Panel Tile TitleWindow ,这些类都可以在手册里看到,还是那句话:有空的时候, read the fucking manuals ;工作的时候, google is your friend

分享到:
评论

相关推荐

    Flex 3 布局容器学习笔记 整理

    国庆期间,做了不少基于 flex 的开发工作,对 flex 的布局容器有了进一步深入的理解,也找到不少非常棒的文章,分享到这里方便一下大家。

    css网页布局学习笔记

    本学习笔记将深入探讨CSS在网页布局中的应用,帮助读者掌握如何利用CSS创建美观且响应式的网页。 一、CSS基础 在了解网页布局之前,我们需要熟悉CSS的基本语法和选择器。CSS通过选择器来指定要应用样式的HTML元素,...

    flex 学习详细笔记

    7. **布局管理器**:Flex提供了多种布局管理器,如垂直布局、水平布局、网格布局等,用于控制组件在容器中的排列方式,确保UI在不同屏幕尺寸下都能正确显示。 8. **事件模型**:Flex的事件模型是基于发布-订阅模式...

    Flex学习笔记1

    Flex学习笔记1 - 容器布局对象状态的切换和数据绑定 在 Flex 应用程序中,容器布局对象状态的切换是非常常见的需求。例如,在购物车应用程序中,我们可能需要在不同的状态之间切换,例如从商品浏览状态到购物车状态...

    flex4.5学习笔记

    ### Flex4.5学习笔记知识点总结 #### 一、Flex基础——布局 **知识点1:Flex布局** - **垂直布局** (`s:VerticalLayout`): 控件垂直排列。 - **水平布局** (`s:HorizontalLayout`): 控件水平排列。 - **平铺布局**...

    flex学习笔记

    ### Flex 学习笔记知识点详解 ...以上总结了 Flex3 学习笔记中的关键知识点,涵盖从基础概念到高级应用的各个方面。通过系统学习这些内容,可以帮助开发者全面掌握 Flex 技术,并能够运用其构建高质量的 RIA 应用程序。

    前端响应式布局笔记-flex

    Flex布局,全称为Flexible Box,是CSS3引入的一种布局模型,专为了解决复杂的网页布局问题,特别是在响应式设计中。本笔记将深入探讨flex布局中的一些关键属性及其应用场景。 一、`display`属性 Flex布局的开启始于...

    水牛01248:flex布局学习笔记

    flex布局实现需要至少两层控件,外层叫做容器,内部的叫做项目(item).类似于Android里的ViewGroup和里面装的View。 容器分两个轴,水平的主轴(main axis)和竖直方向的交叉轴(cross axis),就相当于盒子模型中的xy轴,...

    移动web 第四天flex布局、实战演练小兔仙

    Flex布局模型是指在容器中排列项目的方式。默认情况下,flex布局模型将项目排列在水平方向上。然而,我们可以通过更改flex-direction属性来改变项目的排列方向。 Flex布局模型中有两个主要的轴:主轴和侧轴。主轴是...

    Flex学习笔记,入门材料

    ### Flex学习笔记:ActionScript与Flex开发入门 #### 1. ActionScript核心概念 ##### 1.1 类和对象(Class and Object) 类是对象的模板,定义了一组具有相同特性和行为的对象的共同属性和方法。在ActionScript中...

    CSS3学习笔记

    **CSS3学习笔记** 在网页设计领域,CSS(层叠样式表)是用于定义HTML或XML(包括SVG、XHTML等)文档呈现的关键技术。随着技术的不断发展,CSS3已经成为了现代网页设计的标准,提供了丰富的样式控制和布局能力。本...

    Ext学习笔记

    ### ExtJS4学习笔记知识点总结 #### 1. ExtJS4组件创建方式的更新 在ExtJS4版本中,创建Ext组件的方式有所更新。引入了`Ext.create`方法,这是一种更灵活的组件创建方式。`Ext.create`允许开发者动态加载组件所需...

    CSS学习笔记(手写版)

    通过本篇手写版CSS学习笔记,我们深入了解了CSS的基础知识、核心布局技术(如Flexbox和Grid)、响应式设计、动画效果以及常用的CSS框架和工具。无论你是初学者还是有一定经验的开发者,都能从中获得宝贵的知识和技巧...

    前端学习笔记:实现一个盒子水平居中,学习代码

    在提供的压缩包文件中,"前端学习笔记:实现一个盒子水平居中"可能包含了更多关于这个主题的实例和详细解释。通过阅读和分析这些笔记,你可以更深入地理解这些方法,并可能发现其他实用的技巧。

    高仿饿了么/vue2.0学习笔记

    ### 高仿饿了么/vue2.0学习笔记 #### Vue2.0核心知识点与实践技巧 **一、概述** 本文档旨在分享“高仿饿了么”项目的Vue2.0学习过程中的经验和技巧,特别关注于那些在使用Vue1.0教程时遇到的问题以及解决方案。...

    老师整理的extjs学习笔记

    ### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...

    CSS样式学习笔记之二:定位

    在CSS样式的学习中,定位(Positioning)是一个关键的概念,它允许我们精确地控制元素在网页上的布局。本文将深入探讨CSS定位机制,包括static、relative、absolute、fixed以及flex和grid布局中的定位规则。 首先,...

    css3自适应浏览器图片布局特效.zip

    在现代网页设计中,CSS3已经成为了不可或缺的一部分,它...总的来说,这个资源包提供了一个利用CSS3和jQuery实现自适应图片布局和特效的实例,对于开发者来说,无论是学习还是实际项目开发,都是非常有价值的参考资料。

Global site tag (gtag.js) - Google Analytics