1。ApplicationControlBar主要用于导航的,dock="true"表示这个组件会自动放到容器最上面,他只能进行水平布局.
2。Canvas 只能进行绝对布局的容器
3。HBox和VBox当水平或者垂直一部分组件的时候,使用它们。gap是元素之间的间隔
4。HDividedBox和VDividedBox通常用于把panel分成几个区域,重要属性:live dragging 如果为true,那么中间的那个分割线被拖动时候,两边大小实时改变,
false表示当鼠标拖动结束放下后两边大小才改变
5。Panel 的重要属性:title.
6。TitleWindow 就比panel多了一个属性:showCloseButton=“true”的时候多一个小叉叉,点击这个叉叉就会触发doClose()事件
要不然就和面板一样了,他主要用于弹出框
下面是弹出窗口的例子:
先自定义一个弹出窗口
【1】。
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" showCloseButton="true" title="动态TitleWindow演示" fontSize="12" backgroundColor="#FBFCFB" borderColor="#4BF00A" themeColor="#039BFC" cornerRadius="8" alpha="1.0" close="doClose()">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
internal function doClose():void
{
PopUpManager.removePopUp(this);//关闭就是销毁自己
}
]]>
</mx:Script>
</mx:TitleWindow>
【2】。
<?xml version="1.0" encoding="utf-8"?>
<!-- Main application to demonstrate TitleWindow layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.containers.TitleWindow;
import flash.geom.Point;
private var point1:Point = new Point();
// Open the TitleWindow container.
// Cast the return value of the createPopUp() method
// to SimpleTitleWindowExample, the name of the
// component containing the TitleWindow container.
private function showWindow():void {
//var login:SimpleTitleWindowExample=SimpleTitleWindowExample(PopUpManager.createPopUp( this, SimpleTitleWindowExample , true));
var newWin:MyTitleWindow=new MyTitleWindow();
point1.x=0;
point1.y=0;
point1=newWin.localToGlobal(point1);//本地转全局坐标
newWin.x=point1.x+25;
newWin.y=point1.y+25;
PopUpManager.addPopUp(newWin,this,false); //弹出窗口管理器,弹出谁,在谁上弹出,false表示可拖动模式
// Calculate position of TitleWindow in Application's coordinates.
// Position it 25 pixels down and to the right of the Button control.
// Pass a reference to the TextInput control
// to the TitleWindow container so that the
// TitleWindow container can return data to the main application.
}
]]>
</mx:Script>
<mx:Panel id="win" title="TitleWindow Container Example" height="220" width="300"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10" x="68" y="24">
<mx:Button id="myButton" label="Click to open the TitleWindow container"
click="showWindow();"/>
<mx:Text id="returnedName" text="点击上面按钮弹出个TitleWindow" width="100%" fontSize="12" color="#09C7F0" fontWeight="bold"/>
</mx:Panel>
</mx:Application>
------------------------------------------------------------
7。表单容器
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate Form layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
<mx:Model id="checkModel">
<User>
<FirstName>{fname.text}</FirstName>
<DOB>{dob.text}</DOB>
<Email>{email.text}</Email>
<Age>{age.text}</Age>
<SSN>{ssn.text}</SSN>
<Zip>{zip.text}</Zip>
<Phone>{phone.text}</Phone>
</User>
</mx:Model>
<mx:Panel title="Form Container Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Text width="100%" color="blue"
text="Moving from one form field to another triggers the validator."/>
<mx:Form width="100%" height="100%" fontSize="12">
<mx:FormHeading label="Enter values into the form."/>
<mx:FormItem label="First name">
<mx:TextInput id="fname" width="200"/>
</mx:FormItem>
<mx:FormItem label="Date of birth (mm/dd/yyyy)">
<mx:TextInput id="dob" width="200"/>
</mx:FormItem>
<mx:FormItem label="E-mail address">
<mx:TextInput id="email" width="200"/>
</mx:FormItem>
<mx:FormItem label="Age">
<mx:TextInput id="age" width="200"/>
</mx:FormItem>
<mx:FormItem label="SSN">
<mx:TextInput id="ssn" width="200"/>
</mx:FormItem>
<mx:FormItem label="Zip">
<mx:TextInput id="zip" width="200"/>
</mx:FormItem>
<mx:FormItem label="Phone">
<mx:TextInput id="phone" width="200"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>
<mx:StringValidator source="{fname}" property="text" minLength="4" maxLength="12"
tooShortError="名字太短了" tooLongError="名字太长了"/>
<mx:PhoneNumberValidator source="{phone}" property="text"/>
<mx:DateValidator source="{dob}" property="text"/>
<mx:EmailValidator source="{email}" property="text"/>
<mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"
minValue="18" maxValue="100" domain="int" invalid="Alert.show('请输入数字!');"/>
<mx:SocialSecurityValidator source="{ssn}" property="text"/>
<mx:ZipCodeValidator source="{zip}" property="text"/>
</mx:Application>
--------------------------------------------------------------------
8。Tile 瓦片,就是平铺的布局,重要属性:direction,按照什么方向来平铺
9。Grid: 网格容器
例子:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the Grid layout container.-->
<mx:Application borderStyle="none" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="Grid Container Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Label width="100%" color="blue"
text="A 3 by 3 Grid container of Button controls."/>
<mx:Grid>
<mx:GridRow>
<mx:GridItem rowSpan="3">
<mx:Button label="Row 1 Col 1" width="100" height="100"/>
</mx:GridItem>
<mx:GridItem>
<mx:CheckBox label="Checkbox"/>
</mx:GridItem>
<mx:GridItem>
<mx:Button label="Row 1 Col 3" width="100"/>
</mx:GridItem>
</mx:GridRow>
<mx:GridRow>
<mx:GridItem>
<mx:Button label="Row 2 Col 1" width="100"/>
</mx:GridItem>
<mx:GridItem colSpan="2">
<mx:Button label="Row 2 Col 2" width="200"/>
</mx:GridItem>
<mx:GridItem>
<mx:Button label="Row 2 Col 3" width="100"/>
</mx:GridItem>
</mx:GridRow>
<mx:GridRow>
<mx:GridItem>
<mx:Button label="Row 3 Col 1" width="100"/>
</mx:GridItem>
<mx:GridItem>
<mx:Button label="Row 3 Col 2" width="100"/>
</mx:GridItem>
<mx:GridItem>
<mx:Button label="Row 3 Col 3" width="100"/>
</mx:GridItem>
</mx:GridRow>
</mx:Grid>
</mx:Panel>
</mx:Application>
10.Accordion 相当于qq展开好友列表的效果
<mx:Accordion id="accordion" width="100%" height="100%">
<!-- Define each panel using a VBox container. -->
<mx:VBox label="Accordion Button for Panel 1" id="num1">
<mx:Label text="Accordion container panel 1"/>
</mx:VBox>
<mx:VBox label="Accordion Button for Panel 2">
<mx:Label text="Accordion container panel 2"/>
</mx:VBox>
<mx:VBox label="Accordion Button for Panel 3">
<mx:Label text="Accordion container panel 3"/>
</mx:VBox>
</mx:Accordion>
<mx:Label width="100%" color="blue"
text="Programmatically select the panel using a Button control."/>
<mx:HBox>
<mx:Button label="Select Panel 1" click="accordion.selectedChild=num1;"/>
<mx:Button label="Select Panel 2" click="accordion.selectedIndex=1;"/>
<mx:Button label="Select Panel 3" click="accordion.selectedIndex=2;"/>
</mx:HBox>
11。ViewStack 就是eclipse里面的Preferences里面的效果
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ViewStack layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="ViewStack Container Example" height="95%" width="95%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Text width="100%" color="blue"
text="Use the Button controls to change panels of the ViewStack container."/>
<mx:HBox borderStyle="solid" width="100%"
paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5">
<mx:Button id="searchButton" label="Search Panel"
click="myViewStack.selectedChild=search;"/>
<mx:Button id="cInfoButton" label="Customer Info Panel"
click="myViewStack.selectedChild=custInfo;"/>
<mx:Button id="aInfoButton" label="newPanel"
click="myViewStack.selectedChild=newPanel;"/>
</mx:HBox>
<!-- Define the ViewStack and the three child containers and have it
resize up to the size of the container for the buttons. -->
<mx:ViewStack id="myViewStack" borderStyle="solid" width="100%" height="80%">
<mx:Canvas id="search" backgroundColor="#FFFFCC" label="Search" width="100%" height="100%">
<mx:Label text="Search Screen" color="#000000"/>
</mx:Canvas>
<mx:Panel id="newPanel" label="我的新面板" width="100%" height="100%" borderColor="#F01A1A">
</mx:Panel>
<mx:Canvas id="custInfo" backgroundColor="#CCFFFF" label="Customer Info" width="100%" height="100%">
<mx:Label text="Customer Info" color="#000000"/>
</mx:Canvas>
<mx:Canvas id="accountInfo" backgroundColor="#FFCCFF" label="Account Info" width="100%" height="100%">
<mx:Label text="Account Info" color="#000000"/>
</mx:Canvas>
</mx:ViewStack>
</mx:Panel>
</mx:Application>
11。TabNavigator 听名字就知道是什么
分享到:
相关推荐
03-container-flex-direction
04-container-flex-wrap
05-container-flex-flow练习
01_重要概念-flex-container-item
《深入理解Flex-Iframe 1.4.1:构建跨平台的嵌入式视图解决方案》 在现代Web开发中,iframe(内联框架)是一种常见的技术,用于在一个HTML页面中嵌入另一个网页或者实现页面的分隔。当我们谈论"flex-iframe-1.4.1....
在`flex-container-master`这个项目中,可能包含各种示例,展示了如何使用这些属性创建不同的布局效果,如网格布局、居中对齐、响应式设计等。通过查看和分析源代码,可以更深入地理解Flexbox的工作原理和实际应用。...
1. **Flex容器(Flex Container)**:这是使用`display: flex`或`display: inline-flex`属性定义的父元素。容器内的子元素会成为Flex项(Flex Items),并受到Flex布局规则的约束。 2. **主轴(Main Axis)与交叉轴...
在 Flex 布局中,采用 Flex 布局的元素称为 Flex 容器(flex container),简称"容器"。容器的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)...
- **容器(Container)**:Flex布局中的主元素,设置为`display: flex`或`display: inline-flex`,使得其子元素可以按照Flex规范进行排列。 - **项目(Items)**:容器内的子元素,遵循Flex布局规则。 - **轴线...
<view class="container" style="display: flex; justify-content: flex-start; align-items: flex-start;"> <view class="flex-view-item">1 <view class="flex-view-item">2 <view class="flex-view-item">3 ...
container := flex.NewContainer() container.SetDirection(flex.DirectionRow) // 设置为主轴为水平方向 child1 := flex.NewElement() child1.SetGrow(1) container.AddChild(child1) child2 := flex.New...
当flex container(弹性容器)的总宽度不足以容纳所有flex items时,`flex-shrink`属性决定了各个flex item按何种比例缩小。这个属性接受一个数值作为参数,用于确定flex item相对于其他flex item的收缩因子。 默认...
使用Flex布局时,开启布局的容器称为flex容器(flexcontainer),其直接子元素称为flex项目(flexitems)。 要使用Flex布局,可以为元素的display属性设置为flex或inline-flex。如果设置为flex,则flex容器以块级...
flex 布局的基本概念是容器(flex container)和项目(flex item)。容器是指采用 flex 布局的元素,而项目是指容器中的子元素。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。项目...
在上述示例中,flex-container类定义了一个Flex布局的容器,item类定义了容器内的Flex元素。通过设置flex属性,可以对每个item元素进行相应的控制,比如让元素在容器内均匀分布、或者对齐到容器的某个特定位置。 ...
1. **容器(Container)**:使用`display: flex`或`display: inline-flex`设置的元素称为Flex容器。容器中的所有直接子元素成为Flex项(Items)。 2. **主轴(Main Axis)**:Flex布局中,主轴是从容器的起始边界到...
1. Flex容器(flex-container) Flex容器是通过设置`display`属性来定义的,有两种类型: - `display: inline-flex`:创建一个行内Flex容器,元素与其他行内元素在同一行。 - `display: flex`:创建一个块级Flex...
首先,我们要了解Flex容器(flex container)和Flex项目(flex item)这两个基本概念。一个设置了`display: flex`或`display: inline-flex`的元素成为Flex容器,其内部的直接子元素则成为Flex项目。Flex布局的工作...
1. **容器(Container)**:拥有flex属性的元素被称为Flex容器。你可以通过设置`display`属性为`flex`或`inline-flex`将一个元素变为Flex容器。 ```css .container { display: flex; } ``` 2. **方向(Direction...
在Flex布局中,容器(Container)是包含一组子元素(Items)的元素,它定义了如何分配空间给子元素。通过设置容器的`display`属性为`flex`或`inline-flex`,可以开启Flex布局。一旦开启,容器就会有一系列可配置的...