`
flyinglife
  • 浏览: 131845 次
社区版块
存档分类
最新评论

flex 布局 和 states

    博客分类:
  • flex
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!-- 
	author: 谢忠持 
	Application 标签表示当前的是一个flex 程序
	Application 本身是个容器,容器内的布局是 absolute,例外有horizontal,vertical可选 
-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<!-- 
		states 不占用布局空间
		当前的 页面 元素 在不同的状态下呈现不同的样子
	-->
	<mx:states>
		<mx:State name="CartView">
			<mx:SetProperty target="{products}" name="width" value="0"/>
			<mx:SetProperty target="{products}" name="height" value="0"/>
			<mx:SetProperty target="{CartBox}" name="width" value="100%"/>
			<mx:AddChild relativeTo="{CartBox}" position="lastChild">
				<mx:DataGrid id="dgCart" width="100%">
					<mx:columns>
						<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
						<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
						<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
					</mx:columns>
				</mx:DataGrid>
			</mx:AddChild>
			<mx:AddChild relativeTo="{CartBox}" position="lastChild">
				<mx:LinkButton label="Continue Shopping" click="this.currentState='';"/>
			</mx:AddChild>
			<mx:RemoveChild target="{linkbutton1}"/>
		</mx:State>
	</mx:states>
	<!-- 
		dock = 'true' 表示 ApplicationControlBar停靠在 Application 上
		x,y 代表控件的位置
		left, right, top, bottom 代表离 父元素 边框的距离  类似 html中的 mergin-left....  
		ApplicationControlBar 是容器类
	-->
	<mx:ApplicationControlBar height="90" width="100%" dock="true">
		<mx:Canvas width="100%" height="100%">
			<mx:Label x="0" y="0" text="flex"/>
			<mx:Label x="0" y="41" text="GROCER"/>
			<mx:Button y="10" label="View Chart" id="btnViewCart" right="90"/>
			<mx:Button y="10" label="CheckOut" id="btnCheckOut" right="10"/>
		</mx:Canvas>
	</mx:ApplicationControlBar>
	<mx:Label text="(C) 2006,FlexGrocer" right="10" bottom="10"/>
	<!-- 
		HBox 是容器类  HBox 中的子元素 横向摆放 
		VBox 也是容器类  VBox 中的子元素 竖向摆放
	-->
	<mx:HBox x="0" y="0" width="100%" height="100%" id="bodyBox">
		<mx:VBox width="100%" height="100%" id="products">
			<mx:Label text="Milk" id="prodName"/>
			<mx:Label text="$1.99" id="price"/>
			<mx:Button label="Add To Cart" id="add"/>
		</mx:VBox>
		<mx:VBox height="100%" id="CartBox">
			<mx:Label text="Your Cart Total:$"/>
			<mx:LinkButton label="View Cart" click="this.currentState = 'CartView';" id="linkbutton1"/>
		</mx:VBox>
	</mx:HBox>
	
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<!-- 
		author: 谢忠持 
		实现复杂布局用的
		把当前页面格式化成表格。
		通过设置占用表格来设置布局
	-->
	
	<mx:constraintColumns>
		<mx:ConstraintColumn id="col1"  width="33%"/>
		<mx:ConstraintColumn id="col2"  width="33%"/>
		<mx:ConstraintColumn id="col3"  width="33%"/>
	</mx:constraintColumns>
	
	<mx:constraintRows>
		<mx:ConstraintRow id="row1" height="50%"/>
		<mx:ConstraintRow id="row2" height="50%"/>
	</mx:constraintRows>
	
	<mx:TextArea id="ta1" text="TextArea1" left="col1:5" right="col1:5" top="row1:10" bottom="row1:20" backgroundColor="yellow" fontSize="20"/>
	
	<mx:TextArea id="ta2" text="TextArea2" left="col1:5" right="col2:5" top="row2:10" bottom="row2:10" backgroundColor="red" fontSize="20" color="white"/>
	
	<mx:TextArea id="ta3" text="TextArea3" left="col3:5" right="col3:5" top="row1:10" bottom="row2:20" backgroundColor="green" fontSize="20" color="white"/>
	
</mx:Application>


 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
	
	<mx:ApplicationControlBar dock="true">
		<mx:LinkButton label="ALL" click="this.currentState=''"/>
		<mx:LinkButton label="Sales" click="this.currentState='fullSales'"/>
		<mx:LinkButton label="Categories" click="this.currentState='fullType'"/>
		<mx:LinkButton label="Comparison" click="this.currentState='fullComp'"/>
	</mx:ApplicationControlBar>
	
	<mx:states>
		<mx:State name="fullSales">
			<mx:SetProperty target="{rightCharts}" name="width" value="0"/>
			<mx:SetProperty target="{rightCharts}" name="height" value="0"/>
		</mx:State>
		<mx:State name="fullType">
			<mx:SetProperty target="{sales}" name="width" value="0"/>
			<mx:SetProperty target="{sales}" name="height" value="0"/>
			<mx:SetProperty target="{comp}" name="width" value="0"/>
			<mx:SetProperty target="{comp}" name="height" value="0"/>
		</mx:State>
		<mx:State name="fullComp">
			<mx:SetProperty target="{sales}" name="width" value="0"/>
			<mx:SetProperty target="{sales}" name="height" value="0"/>
			<mx:SetProperty target="{type}" name="width" value="0"/>
			<mx:SetProperty target="{type}" name="height" value="0"/>
		</mx:State>
	</mx:states>
		
	<mx:Panel id="sales" width="100%" height="100%" title="Sales Chart">
		<mx:ControlBar>
		</mx:ControlBar>
	</mx:Panel>
	
	<mx:VBox id="rightCharts" width="100%" height="100%">
		<mx:Panel id="type" height="100%" width="100%" title="Category Chart">
			<mx:ControlBar>
			</mx:ControlBar>
		</mx:Panel>
		<mx:Panel id="comp" height="100%" width="100%" title="Comarison Chart">
			<mx:ControlBar>
			</mx:ControlBar>
		</mx:Panel>		
	</mx:VBox>
	
</mx:Application>

 

分享到:
评论

相关推荐

    flex web工作流程图

    综上所述,"flex web工作流程图"涉及到的技术点包括Flex框架、MXML和ActionScript编程、图形组件设计、数据绑定、事件处理、自定义组件开发、状态管理、布局和动画效果,以及后端服务集成。通过这些技术,开发者可以...

    flex 4 生命周期

    在Flex 4中,Adobe引入了更高效的设计模式,如States和Effects,以更好地管理组件的状态变化。 首先,组件的创建过程始于`initialize`事件,这是组件实例化后首次允许开发者进行属性设置的时刻。接着,`...

    Flex 4的十大变化

    4. **View States改进**:Flex 4对视图状态进行了优化,简化了状态切换的语法,使得组件在不同状态下的显示和行为管理变得更加容易。新的`includeIn`和`excludeFrom`属性使得开发者可以更灵活地控制组件在哪些状态中...

    FLEX4_Flex4教程 - FLEX4从入门到精通,挺不错的值得一看

    4. **States和Transitions**:Flex4中的States和Transitions机制允许开发者轻松管理UI的不同状态,比如在不同视图之间切换,以及添加平滑的动画效果,提高用户体验。 5. **数据绑定**:Flex4的数据绑定功能使得UI...

    flex builder 4 help

    2. **MXML和ActionScript**:Flex 4引入了MXML和ActionScript的混合编程模型,MXML用于声明式定义界面布局和组件,而ActionScript则用于编写逻辑代码。开发者可以灵活地在两者之间切换,提高开发效率。 3. **Spark...

    flex4 学习资料

    - **MXML**:Flex的标记语言,用于描述用户界面布局和组件,与AS3结合使用可实现声明式编程。 2. **Flex Builder/Flash Builder**:Adobe提供的集成开发环境(IDE),支持Flex4应用的创建、调试和部署,提供代码...

    flex

    1. **MXML** - 基于XML的声明式语言,用于构建UI组件和布局。 2. **ActionScript 3.0** - Flex的主要编程语言,基于ECMAScript,用于编写应用程序逻辑。 3. **Flex Compiler** - 将MXML和ActionScript代码转换为SWF...

    Flex仿windows7

    Flex使用MXML和ActionScript作为其主要编程语言,MXML用于定义界面布局和组件,而ActionScript则用于处理逻辑和交互。在Flex仿Windows7项目中,开发者可能运用了Flex的组件库,如SkinnableContainer、Button、Canvas...

    csss.rar_flex_flex 聊天

    6. **布局管理器 - Flex Box (Flex 布局)**:在Flex应用中,`Flex布局`是用于组织和定位组件的强大工具,尤其适合构建聊天界面。它可以处理不同屏幕尺寸和方向下的自适应布局,使组件能够根据需要自动调整大小和位置...

    Flex中文参考手册

    6. **_states_ 和 _effects_**:Flex中的状态管理允许你根据应用程序的不同阶段或用户行为改变组件的外观和行为。 7. **移动开发**:Flex也可以用于开发移动应用程序,适应iOS和Android平台,使用Adobe AIR技术。 ...

    Flex_API的架构图

    7. **Layout Managers**: Flex提供了一系列布局管理器,如BoxLayout、FormLayout和GridLayout,帮助开发者轻松管理组件在容器中的排列和对齐方式。 8. **States**: Flex组件支持状态管理,允许根据不同的应用场景...

    Flex4实战源代码

    6. **States和Layouts**:Flex4中的状态管理(States)和布局管理(Layouts)功能也得到了加强,使得开发者能更方便地管理组件的不同状态和容器内的元素布局。 7. **高级动画支持**:Flex4提供了一个全新的动画框架...

    Flex4 电视墙效果

    Flex4的Skin类和States机制使得创建复杂的交互式皮肤变得可能。 5. **动画效果**:为了增加用户体验,电视墙通常会包含平滑的滚动、淡入淡出或缩放动画。Flex4的Tween类和Effect框架可以轻松实现这些效果。 6. **...

    flex 图片编辑器

    3. **MXML**:MXML是Flex中的标记语言,用于定义用户界面的布局和组件。通过MXML,开发者可以以声明式的方式构建UI,与ActionScript配合使用,实现视图和逻辑的分离。 4. **组件库**:Flex SDK提供了一系列内置组件...

    Flex4开发实践PPT

    4. States和Transitions:用于管理UI的不同状态和状态间过渡效果,使得动态界面设计变得简单。 5. skins和styles:允许开发者自定义组件外观,提供了丰富的样式属性和皮肤类,实现视觉效果的多样化。 三、Flex4开发...

    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等动画效果,可以...

    Flex4 中文API

    5. **States and Effects**:Flex4引入了状态管理,可以定义组件在不同场景下的外观和行为,比如在不同大小的屏幕、不同用户角色下显示不同的界面。同时,Flex还提供了一系列效果库,如Fade、Slide等,可以轻松添加...

    Flex4权威指南+清晰中文版

    1. **MXML与ActionScript结合**:Flex4支持MXML和ActionScript两种编程方式,MXML作为声明式语言,主要用于界面布局和组件定义,而ActionScript则是面向对象的脚本语言,用于处理业务逻辑和事件处理。 2. **Spark...

    Flex4.0中文API.rar

    2. **MXML和ActionScript混合编程**:Flex 4.0允许开发者在MXML和ActionScript之间自由切换,MXML用于界面布局和组件声明,ActionScript则用于处理业务逻辑和数据绑定。这种混合编程模式提高了开发效率。 3. **...

Global site tag (gtag.js) - Google Analytics