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>
内容概要:本文详细介绍了“电动汽车聚合可行域的内-外结合近似方法”的Matlab代码实现,旨在通过数值仿真手段对大规模电动汽车集群作为灵活资源参与电网调度的能力边界进行建模与逼近。该方法融合内部凸包构造与外部约束逼近策略,精确刻画电动汽车在充电状态、功率调节、时间维度等方面的聚合可调能力范围,形成紧致的可行域表示,为高比例电动车接入下的电力系统优化调度、需求响应、车网互动(V2G)等关键应用提供可靠的建模基础。文中强调科研应兼顾严谨逻辑与创新思维,并倡导借助YALMIP等成熟优化工具提升研究效率。完整的代码、工具包及相关案例可通过指定网盘链接和微信公众号“荔枝科研社”获取。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的科研人员,尤其适用于从事新能源并网、电动汽车调度、智能电网、综合能源系统等方向的研究生与工程技术人员。; 使用场景及目标:①研究大规模电动汽车集群的聚合建模与灵活性量化方法;②实现电动汽车聚合可行域的内-外近似算法;③支撑含高渗透率电动汽车的电力系统日前-实时协同优化调度;④学习并应用YALMIP工具进行数学规划建模与求解;⑤为需求响应、市场机制设计及V2G运营提供技术支撑。; 阅读建议:建议读者按照文档指引循序渐进学习,结合网盘提供的完整资源(包括YALMIP工具包与示例代码)进行实践调试,重点掌握内-外近似方法的数学建模逻辑、约束处理技巧及优化求解流程,并参考团队发布的其他相关案例,深化对优化算法与仿真技术在能源系统中应用的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值