组件的大小(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布局的一个应用,它通常包含一系列的时间点或里程碑,每个时间点都与特定的事件或信息相关联。这些时间点...
在移动Web开发中,Flex布局经常用于创建导航栏、网格系统、轮播图、对话框等组件。例如,一个简单的响应式导航栏可以使用Flex布局,通过`justify-content: space-between;`使导航链接在容器中均匀分布,而在小屏幕...
在微信小程序中,开发者可以利用CSS布局方式之一的Flex布局来实现复杂的页面设计,提高用户体验。本教程将深入探讨微信小程序中的Flex布局。 一、Flex布局基础 1. Flex容器:在CSS中,一个元素如果设置了`display:...
“源码”标签暗示了这篇博客可能涉及到了Flex布局的实现原理,可能会讨论CSS的源代码片段,或者讲解如何创建自定义的Flex布局组件。理解源码对于开发者来说是提升技能的重要途径,能帮助他们更好地定制和优化布局。 ...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
- **特点**:可以按行或按列排列子组件,所有单元格大小相同,通过调整`orientation`属性可以选择行布局或列布局。 - **应用场景**:适用于创建网格布局或类似相册的展示效果。 #### 五、自定义布局类 除了内置...
Re-F | ex是我创建的基于React flex的布局组件库,因为在那里发现的所有组件都不能满足我的要求。 它旨在以简单的方式解决需要可调整大小的布局的高级React Web应用程序的需求。 这是一个基本的演示: import ...
Flex布局是一种强大的CSS布局模式,允许我们创建响应式和灵活的用户界面。它特别适合用于现代网页和移动应用的设计,因为它可以自动调整元素的大小和位置以适应不同的屏幕尺寸。 首先,让我们理解Flex容器...
在Web前端开发领域,Flex布局(也称为Flexbox)已经成为现代CSS布局的标准,它可以方便地处理元素的对齐、顺序和大小调整,以达到理想的效果。 在“flex组件的所有源文件”这个压缩包中,我们可以期待找到与Flex...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
首先,Flex布局是一种现代的Web和移动应用布局模式,它允许元素在容器内自动调整大小和位置,以适应不同的屏幕尺寸和方向。这种布局方式在iOS开发中特别有用,因为它可以简化多设备适配和自适应设计的工作。 在...
在移动开发领域,Flex布局(Flexible Box Layout)已经成为创建响应式和动态布局的首选方法,尤其是在处理复杂的网页或应用界面时。"Ctrip(flex布局).zip"这个压缩包很可能是包含了一组示例代码,用于演示如何使用...
在给定的标题“支持手动拖拽缩放flex组件的组件”中,我们可以推断出这是一个专门针对Flex环境设计的组件,它允许用户通过手动拖拽和缩放操作来调整Flex应用中的组件大小。 描述中提到的“com.janisRadins.zip”很...
Flex布局,全称为“Flexible Box”,也称作弹性盒布局,是CSS3中的一种布局模式,主要用于解决传统盒模型在处理复杂网页布局时遇到的问题,尤其是对于响应式设计和自适应布局有着强大的支持。在携程APP首页布局中,...
Flex组件边框线样式是前端开发...综上所述,Flex组件边框线样式是一个多维度的设计概念,涵盖边框、标题、内容区域以及与之相关的交互反馈和响应式设计。熟练掌握这些技巧,可以让你创建出既美观又功能强大的Flex应用。
Flex文件上传组件是一种基于Adobe Flex技术的用户界面组件,它允许用户在Web应用程序中选择并上传文件。在Flex中,这种组件通常会显示一个文件选择对话框,让用户选择要上传的文件,并且会提供一个进度条来显示上传...
Flex布局常用于导航栏、页脚、卡片式布局、网格系统、复杂组件等场景。对于初学者来说,理解并熟练运用Flex布局,可以极大地提升网页设计和开发的效率,使页面布局更加灵活多变,适应不同设备和屏幕尺寸的需求。 ...
Flex布局允许容器对子元素进行灵活的调整,以适应不同大小的屏幕。它解决了传统布局(如浮动和定位)在处理动态内容或多列布局时的局限性。Flex布局由容器(flex container)和项目(flex item)组成,通过设置容器...