FLEX格局之组件大小的设置(转)
发布时间:2011-06-27 19:44:26 文章来源:www.iduyao.cn 采编人员:星星草
FLEX布局之组件大小的设置(转)
组件的大小(size)就是指组件的高度和宽度。查看Flex帮助,可以看出关于Flex组件大小的属性有很多,以宽度为例,有以下有关宽度的属性:
* width
* maxWidth
* minWidth
* explicitWidth
* explicitMaxWidth
* explicitMinWidth
* measuredWidth
* measuredMinWidth
* percentWidth
* scaleX
* 以及组件的MXML标记中的width属性。
如此之多的有关宽度的属性难免让人糊涂,而且,帮助上说的也不是很透彻,因此通过查阅相关文档和源代码,基本搞清了这些属性的含义和相互作用。这些有关宽度的属性中,基本的属性包括:
* width
* explicitWidth
* measuredWidth
* percentWidth
* scaleX
明白这些属性之后,自然容易理解剩余的属性。
* width,组件的当前实际宽度,以像素为单位。为什么会有当前实际宽度的这样的说法呢?因为在Flex中,能够为组件设置相对宽度,即百分比的表示宽度,这时组件当前的实际宽度是根据父容器的宽度动态决定的,开发者无法知道实际宽度的,因此通过读取width属性可以知道其当前实际宽度。
* measuredWidth是组件的缺省宽度,以像素为单位。可以通过重载组件的measure方法来改变它的值,一般情况下,组件的 measuredWidth都是0。
* explicitWidth 是显式指定的宽度,以像素为单位。所谓显式指定宽度区别于动态的相对宽度,即区别于百分比宽度percentWidth。开发者设置该属性值时就已经知道到组件在运行时的宽度,故称为显式指定的宽度。该属性同百分比宽度互斥,一旦设置了explicitWidth,则percentWidth的值就会变为 NaN,同理,一旦设置了percentWidth,explicitWidth值就会变为NaN。当用ActionsSript代码设置了组件的 width属性值时,explicitWidth属性会立即被赋予同样的值,同时percentWidth会变为NaN。设置explicitWidth 属性时,percentWidth会立即被设置为NaN,但是width属性则不会立即改变,要延迟组件布局的commit阶段才会变为与 explicitWidth相同的值。
* percentWidth是指组件的百分比宽度,比如设置组件占用父容器的50%的宽度,那么就设置该属性值为50。该属性同显式指定的宽度(explicitWidth)互斥,一旦设置该属性值,则explicitWidth属性立即变为NaN。
* scaleX是当前组件宽度的缩放比例。一旦设置属性,考虑到性能,不会立即更新组件的width和explicitWidth属性,延迟到 explicitWidth时会将width和explicitWidth属性值改变。
除了以上基本属性之外,值得注意的就是组件MXML标记中的width属性。这个属性在编译组件MXML标记时,根据标记的该属性值的格式编译成设置 percentWidth或width属性的AS代码。如果组件MXML标记的width属性后面有百分号(%),则其被编译为设置 percentWidth属性的AS代码,如果组件MXML标记的width后面不带百分号(%),则其被编译为设置width属性的AS代码。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
flex连接数据库编程
刚学了flex。用flex写了个程序,实现和数据库连接,但是老出问题,如下:
调用可能未定义的方法 deleteUser (通过 s...
-
AdvancedDataGrid 的节点对象怎么读取?
<?xml version= "1.0 " encoding= "utf-8 "?>
<mx:Application xmlns:mx=...
-
<mx:SWFLoader 加事件后卸载不干净
<mx:SWFLoader id="tb" source="topbar.swf" complete="tb_completeHandler(event)"/>
public...
-
flashDevelop 项目错误
我创建了一个Flex项目,该项目只包含一个文件,名为Main.mxml。
XML code
<?xml version="1.0" encoding="u...
-
类型1067:Array 类型值的隐式强制指令的目标是非相关类型
新下载了Flash Builder 4来学习flex。按照网上的一个例子写,但出现上面...
-
Flex导出Excel怎么做?要详细代码和说明。谢谢
如题。
------解决方案--------------------
给你一个网上的例子,希望对你有帮助,不...
-
flex google map问题!
最近在做flex地图,我看网上说的属性我这里都打不出来,是不是sdk版本不同啊。
我实在官网下的,是map_flex_1_20....
-
flex4.0的spark控件不能被qtp10.00的对象查看器识别
各位大侠:
我刚才qtp做flex的自动化测试,使用的flash builder是4.0版本...
-
Channel definition, mx.messaging.channels.RTMPChannel, can not be found.
我从CSDN上下载了一个FLEX+J2EE的教程,但是一步一步...
-
flex 控制键盘的响应间隔
如有个keyboaedevent的mousedown监听,里面就一句代码 trace("a");
怎么控制键盘按下后输出a的时间间隔
...