组件的大小(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代码。
分享到:
相关推荐
可根据绑定的数据源大小自动改变下拉框内容的宽度!
Form标签 layout属性设置为’inline’ 时 下拉组件宽度没有自适应: // 方法1:用Row + Col 定义自己需要的宽度,把layout属性设置为'horizontal', const formLayout = { labelCol: { span: 4 }, wrapperCol: { ...
在使用 vue 的开发中,我们有时会引用外部组件,包括 UI 组件(ElementUI、iview)。 当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。 但是在父组件中添加 scoped 之后,父组件的样式...
aspjpeg组件aspjpeg组件aspjpeg组件
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
Ajax组件Ajax组件Ajax组件Ajax组件
Jmail组件Jmail组件Jmail组件Jmail组件
组件与控件 组件与控件 组件与控件组件与控件组件与控件组件与控件组件与控件组件与控件
Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程...
风声无组件上传修改版(带获取上传的FLASH,图片宽度和高度)
JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片组件JPEG图片...
AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) AxureUX WEB端交互原型通用组件模板库 v3 (组件列表) ...
内容概要:该分段进度条组件是一个前端开发的源码资源文件,支持自适应宽度、可以修改进度条颜色、具有加载中动画效果。该组件可以帮助开发者快速搭建分段进度条,提高开发效率。 适用人群:该组件适用于前端开发...
打开开发者工具其实你可以发现iView给table标签的宽度加上了一个明确的宽度值,而且在父元素变小的时候这个值并没有相应地变小,所以才会导致的iView Table组件只会变大不会变小。 那么我们就可以根据这个原因才决定...
组件编程系列组件编程系列组件编程系列组件编程系列
Ipad Axure组件库,很全的组件库,适合交互原型的制作。
jQuery+js 实现Table表格可任意拖动调整列宽度大小 适用于列表页等表头拖动宽度设置,完美兼容IE,FireFox,Google Chrome浏览器。
Flex布局之关于组件的大小 Flex布局之关于组件的大小
模块组件和通用组件,可分为业务组件和UI组件等等,比如下拉刷新可作为通用ui组件,供多个项目调用,登录模块或者网络模块,可作为通用业务组件存在,供多个项目使用。 在项目开发中,讲项目拆分为不同的组件,开发...