`

Flex学习笔记_05 使用容器控制界面布局_01管理程序的布局

阅读更多

本文的相关文章:

Flex学习笔记_05 使用容器控制界面布局_02窗口布局

Flex学习笔记_05 使用容器控制界面布局_03动态布局、导航容器、表单布局

 

 

1.管理程序的布局

容器累组件都位于mx.containers包中。Container类是UIComponent的子类,是所有Flex容器类的父类,每个容器类都在它的基础上添加自己的功能。

 

1.1控制Application 的布局

Application 是一个特殊的容器,位于界面元素的根部,包含了整个程序的所有元素。

layout :

    值为absolute时,horizontalAlign水平对齐和verticalAlign垂直对齐不起作用,界面上的元素将由各自的坐标决定。

 

    值为vertical 或 horizontal时,元素的位置由horizontalAlign和verticalAlign控制。

 

width 长, height 高。决定SWF文件的尺寸。

 

我们可以设置如下的属性,所有组件公有:

horizontalGap 水平间距

vericalGap 垂直间距

paddingTop 顶部边距

paddingLeft 左边距

paddingRight 右边距

paddingBottom 底边距

 

Constraint layout 约束布局,只能在layout属性值为absolute才能使用,具有这一特性的容器有:Application、Canvas、Panel和Panel的子类TitleWingdow

点击元素得到如下界面:

 

如果对某一组件使用了约束布局,它会被强制定位在相应的位置,设置的X,Y坐标会失效。

 

ApplicationContolBar是和Application相关的一个容器,通常用来提供全局导航。有水平(默认)和垂直方向选择。它的dock属性,表示是否强行停靠在Application的顶部。默认false,被当作一个普通的组件。true,始终在顶部,宽度为100%。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
layout="absolute" horizontalAlign="left" verticalAlign="top" height="100%" width="100%"
 horizontalGap="0" verticalGap="0" paddingTop="0">	
	<mx:Button label="Button1" height="120" x="24" y="0"/>
	<mx:Button label="Button2" top="0" bottom="30" width="72" horizontalCenter="-72"/>
	<mx:Button label="Button3" width="240" x="168" y="0"/>
	<mx:ApplicationControlBar dock="true">
		<mx:Label text="这里是顶部导航" width="93" height="20"/>
	</mx:ApplicationControlBar>
</mx:Application>
 

 

1.2 Canvas

Canvas 直接继承自Container,体积小,使用灵活。在它里面的元素只能由X,Y来定位。如果元素超出 Canvas 的区域范围, Canvas 会自动增加滚动条。每个容器默认情况下都会自动带滚动条。可以通过horizontalScrollPolicy和 verticalScrollPolicy 的属性值来控制,on/off/auto。在AS中对应ScrollPolicy.ON, ScrollPolicy.OFF, ScrollPolicy.AUTO。

 

1.3 VBox 和 HBox

VBox 和 HBox 都是Box的子类,和Canvas相比,Box对子级元素采取规则的布局方式,其中VBox内的元素垂直方向分布,而HBox水平方向分布。通过horizontalAlign和verticalAlign控制容器内的元素对齐方式。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:HBox x="27" y="30" width="50%" height="50%" horizontalAlign="left" 
            verticalAlign="middle">
		<mx:Button label="Button"/>
		<mx:Label text="这是一个HBox"/>
	</mx:HBox>
	<mx:VBox width="50%" x="263" y="30" height="100%">
		<mx:Label text="这是一个VBox"/>
		<mx:Button label="Button"/>
	</mx:VBox>	
</mx:Application>

 

1.4 用DividedBox分割界面

DividedBox继承自Box类,它有两个子类:HDividedBox和VDividedBox。类似于HBox和VBox,多了在子级元素之间增加了可以拖动的分割块。拖动分割块可以动态的调整分割块附近元素的长宽。

borderStyle是组件的样式之一,表示边框样式,默认:none,表示无边框。solid为实心线条。

liveDragging:true 表示在拖动时,在松开鼠标后,调整位置。false 拖动时调整。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:HDividedBox width="90%" height="90%" liveDragging="false" borderStyle="solid"
            x="10" y="10">
		<mx:Canvas width="200" height="246">
			<mx:Label x="33" y="10" text="一个Canvas容器"/>		
		</mx:Canvas>
		<mx:HBox width="50%" height="50%">
			<mx:Label text="HBox容器" width="140"/>
			<mx:HBox width="50%" height="50%">
				<mx:Label text="HBox内的HBox" width="140"/>
			</mx:HBox>
		</mx:HBox>
	</mx:HDividedBox>
</mx:Application>
分享到:
评论
1 楼 Army 2009-03-02  
mx.containers.* 包里有好多呢,剩下的是放在后面讲了吗?

相关推荐

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站

    Flex学习笔记_09 数据绑定_概念、使用 - Java&Flex - JavaEye技术网站 希望对爱好有帮助!!

    amcharts_flex_components_1.8.3.3

    Flex是Adobe开发的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。它采用MXML和ActionScript进行编程,能够创建具有丰富图形和交互性的用户界面。而amCharts_flex_components是这个框架...

    Flex_4_样式与布局小结

    Flex_4_样式与布局小结详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分

    Flex_布局与容器

    Flex_布局与容器 部分容器的介绍和例程。

    基本布局_flex基本布局模板_flex_

    在前端开发中,Flex布局(Flexible Box)是一种强大的盒模型布局方式,允许开发者轻松地创建响应式和动态的用户界面。这个"基本布局_flex基本布局模板_flex_"项目旨在介绍和提供一个基础的Flex布局模板,帮助开发者...

    dh.rar_flex cool me_flex menu skin_flex 导航_flex4 menu_flex4 menu

    Flex是Adobe公司开发的一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,RIA)。这个"dh.rar_flex cool me_flex menu skin_flex 导航_flex4 menu_flex4 menu"的压缩包...

    flex3-cn-api..zip_flex_flex 3 api_flex3 api_flex3 a_flex3 api

    6. **States和Layouts**: 状态管理和布局管理是Flex 3的重要特性,可以方便地切换UI状态,以及调整组件的排列方式,适应不同的应用场景。 7. **动画和效果**: Flex 3提供了Animate、Fade、Slide等动画效果,可以...

    Flex特效_可拖动弹出窗口布局容器TitleWindow.zip )

    Flex特效_可拖动弹出窗口布局容器TitleWindow.zip )

    Flex学习笔记Flex学习笔记Flex学习笔记

    Flex是一种用于创建富互联网应用(RIA)的技术,由Adobe公司开发。Flex 3 SDK是其核心部分,包含用于构建和编译Flex应用程序的工具和库...通过深入学习和实践,开发者可以充分利用Flex的优势来创建复杂的网络应用程序。

    flex学习笔记 flex学习总结 flex学习教程

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...

    Flex学习PPT_wildh

    2. **MXML与ActionScript**:MXML用于描述界面布局和组件,而ActionScript则处理程序逻辑和数据操作。MXML文件可以与ActionScript类相互转换,使得界面设计和业务逻辑分离,便于团队协作。 3. **Flex Builder**:...

    FLEX学习笔记

    《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...

    flex_fck_editor 例子

    Flex_FCK_Editor充分利用了Flex的图形用户界面和RIA(Rich Internet Application)特性,提供了更丰富的编辑体验。它支持多种文本格式、图片上传、链接管理等功能,并且可以与服务器端的多种语言如PHP、ASP.NET、...

    EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds

    标题"EmployeeManager.zip"暗示这是一个关于员工管理的项目,而"LCDS Flex"则表明这个项目使用了LCDS与Flex技术。"flex LC_flex lcds"的标签进一步强调了Flex与LCDS在项目中的核心地位。接下来,我们将详细分析这个...

    Flex3界面布局中文教程

    在Flex3中,布局管理主要是通过不同的布局容器来实现,这些容器提供了多种布局方式,帮助开发者创建美观、高效的用户界面。下面我们将逐一探讨这些布局容器及其特点。 1. **Canvas layout 容器** Canvas布局容器...

    flex_style.rar_flex_flex style_style flex

    Flex布局在现代网页和应用程序开发中扮演着至关重要的角色,尤其在创建响应式设计和动态界面时。"flex"是CSS3中的一个属性,全称为"Flexible Box",旨在简化多列或多行元素的布局,使得元素能在不同屏幕尺寸下自适应...

    Flex万年历记事本_flex源码

    6. **状态管理**:Flex支持多种视图状态,可以方便地切换不同界面布局。在万年历记事本中,可能有多种状态,如“日历查看”、“记事编辑”等。 7. **自定义组件**:为了实现特定的视觉效果或功能,开发者可能会创建...

    Flex布局笔记.docx

    Flex布局是一种现代网页和应用程序设计中的重要布局模式,它允许开发者更加灵活地调整元素在容器内的分布和排列。本笔记将深入探讨Flex布局的核心概念、属性及其用法。 1. Flex容器(flex-container) Flex容器是...

    ArcGIS_Flex.rar_ArcGIS flex_ArcGIS_Flex_NavigationSkin.mxml_arc

    ArcGIS Flex是Esri公司开发的一款基于Adobe Flex技术的地理信息系统(GIS)开发框架,它允许开发者构建富互联网应用程序(RIA),将复杂的地理信息数据和分析功能融入Web界面。在本篇文章中,我们将深入探讨ArcGIS ...

    Flex3 界面布局教程

    Canvas 是 Flex 中一个非常基础且重要的布局容器,它允许开发者通过精确控制子元素的位置来构建界面。Canvas 容器本身定义了一个矩形区域,可以在此区域内放置其他容器或控件。与大多数其他容器不同,Canvas 不会...

Global site tag (gtag.js) - Google Analytics