包 | spark.layouts |
类 | public class VerticalLayout |
继承 | VerticalLayout LayoutBase OnDemandEventDispatcher Object |
子类 | FormLayout |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
元素的垂直位置是按垂直顺序从上到下进行排列,并考虑在第一个元素之前的填充和元素之间的间隙来确定的。
元素的水平位置由布局的 horizontalAlign
属性确定。
在 measure()
方法的执行过程中,容器的默认大小是通过累计元素(包括间隙和填充)的首选大小计算的。设置 requestedRowCount
时,将从第一个元素开始,仅测量那么多元素的空间。
在执行 updateDisplayList()
方法的过程中,会根据以下按各自的优先级顺序列出的规则,计算每个元素的高度(始终会考虑元素的最小高度和最大高度):
- 如果
variableRowHeight
为false
,则会将元素的高度设置为rowHeight
属性的值。 - 如果已设置元素的
percentHeight
,则会通过在使用percentHeight
设置的所有元素之间分发可用的容器高度来计算元素的高度。可用容器高度等于容器高度减去间隙、填充和其余元素所占用的空间。虚拟化布局之后,会忽略元素的precentHeight
属性。 - 将元素的高度设置为其首选高度。
根据以下按各自的优先级顺序列出的规则,计算每个元素的宽度(始终会考虑元素的最小宽度和最大宽度):
- 如果
horizontalAlign
为"justify"
,则会将元素的宽度设置为容器宽度。 - 如果
horizontalAlign
为"contentJustify"
,则会将元素的宽度设置为容器的宽度与所有元素的首选宽度之间的最大值。 - 如果已设置元素的
percentWidth
,则会将元素的宽度计算为容器宽度的某个百分比。 - 将元素的宽度设置为其首选宽度。
The <s:VerticalLayout>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:VerticalLayout Properties gap="6" horizontalAlign="left" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedMaxRowCount="-1" requestedMinRowCount="-1" requestedRowCount="-1" rowHeight="calculated" variableRowHeight="true" verticalAlign="top" />
属性 | 由以下参数定义 | ||
---|---|---|---|
clipAndEnableScrolling : Boolean
如果为 true,指定将子代剪切到视区的边界。 | LayoutBase | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
dropIndicator : DisplayObject
该布局在拖放操作过程中用于拖放指示符的 DisplayObject。 | LayoutBase | ||
firstIndexInView : int [只读]
组成布局且在布局目标的滚动矩形内的第一个布局元素的索引,或者 -1(如果未显示任何内容)。 | VerticalLayout | ||
gap : int
布局元素之间的垂直空间(以像素为单位)。 | VerticalLayout | ||
horizontalAlign : String
布局元素的水平对齐。 | VerticalLayout | ||
horizontalScrollPosition : Number
组件的坐标系中视域原点(默认值为 (0,0),与组件的左上角相对应)的 x 坐标。 | LayoutBase | ||
lastIndexInView : int [只读]
组成布局且在容器的滚动矩形内的最后一行的索引,或者 -1(如果未显示任何内容)。 | VerticalLayout | ||
paddingBottom : Number
容器的底边缘与最后一个布局元素的底边缘之间的像素数。 | VerticalLayout | ||
paddingLeft : Number
容器的左边缘与布局元素的左边缘之间的最少像素数。 | VerticalLayout | ||
paddingRight : Number
容器的右边缘与布局元素的右边缘之间的最少像素数。 | VerticalLayout | ||
paddingTop : Number
容器的顶边缘与第一个布局元素的顶边缘之间的像素数。 | VerticalLayout | ||
requestedMaxRowCount : int
此布局的测量高度足够大,至多能够显示 requestedMaxRowCount 个布局元素。 | VerticalLayout | ||
requestedMinRowCount : int
此布局的测量高度足够大,至少能够显示 requestedMinRowCount 个布局元素。 | VerticalLayout | ||
requestedRowCount : int
此布局的测量大小足够高,能够显示第一批 requestedRowCount 布局元素。 | VerticalLayout | ||
rowCount : int [只读]
可见元素的当前数目。 | VerticalLayout | ||
rowHeight : Number
如果 variableRowHeight 为 false,则此属性指定每个子代的实际高度(以像素为单位)。 | VerticalLayout | ||
target : GroupBase
此布局将测量其元素、调整其元素的大小并定位其元素的 GroupBase 容器。 | LayoutBase | ||
typicalLayoutElement : ILayoutElement
当请求固定的行/列大小而未指定某个特定大小时,由布局所使用。 | LayoutBase | ||
useVirtualLayout : Boolean
一个容器可包含任意数量的子项。 | LayoutBase | ||
variableRowHeight : Boolean
指定是否给布局元素分配了其首选高度。 | VerticalLayout | ||
verticalAlign : String
内容相对于容器高度的垂直对齐。 | VerticalLayout | ||
verticalScrollPosition : Number
组件的坐标系中视区的原点(默认值为 (0,0),与组件的左上角相对应)的 y 坐标。 | LayoutBase |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | VerticalLayout | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | OnDemandEventDispatcher | ||
为指定的 dragEvent 在放置目标的数据提供程序中计算拖放位置。 | LayoutBase | ||
如果 useVirtualLayout 为 true,则当布局目标改变时,布局目标可以使用此方法来清除已缓存布局信息。 | LayoutBase | ||
将事件调度到事件流中。 | OnDemandEventDispatcher | ||
在已添加布局元素之后且在验证目标的大小和显示列表之前,由目标调用。 | LayoutBase | ||
必须在已删除布局元素之后且在验证目标的大小和显示列表之前,由目标调用此方法。 | LayoutBase | ||
如果指定的索引完全在视图中,则返回 1.0;如果不在视图中,则返回 0.0;如果部分处于视图中,则返回在 0.0 和 1.0 之间的一个值(表示处于视图中的部分的百分比)。 | VerticalLayout | ||
如果索引无效、相应的元素为 null、includeInLayout=false,或者如果此布局的 target 属性为 null,则将指定元素的布局界限返回为 Rectangle 或 null。 | LayoutBase | ||
返回对水平滚动位置的更改以处理不同的滚动选项。 | LayoutBase | ||
getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
确定根据 NavigationUnit、基于当前处于焦点的项目和用户输入要导航到哪个项目的委派方法。 | LayoutBase | ||
计算所需的 verticalScrollPosition 和 horizontalScrollPosition delta,以将处于指定索引处的元素滚动到视图中。 | LayoutBase | ||
返回对垂直滚动位置的更改以处理不同的滚动选项。 | LayoutBase | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | OnDemandEventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
隐藏由 showDropIndicator() 方法创建的先前显示的拖放指示符,将其从显示列表中删除,还将停止拖放滚动。 | LayoutBase | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
基于目标的内容测量其默认大小,并(可选)测量目标的默认最小大小。 | LayoutBase | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | OnDemandEventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
根据指定的拖放位置调整拖放指示符的大小、确定其位置并设置其父代。 | LayoutBase | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
调整目标的元素的大小并定位这些元素。 | LayoutBase | ||
在其 updateDisplayList 的结尾由目标调用,以使布局更新其 scrollRect。 | LayoutBase | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | OnDemandEventDispatcher |
firstIndexInView | 属性 |
firstIndexInView:int
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
组成布局且在布局目标的滚动矩形内的第一个布局元素的索引,或者 -1(如果未显示任何内容)。
“布局的组成部分”意味着该元素为非空,且其 includeInLayout
属性为 true
。
请注意该布局元素仅可以部分显示在视图中。
此属性可用作数据绑定的源。修改此属性后,将调度 indexInViewChanged
事件。
实现
public function get firstIndexInView():int
相关 API 元素
gap | 属性 |
horizontalAlign | 属性 |
horizontalAlign:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
布局元素的水平对齐。如果该值为 "left"
、"right"
或 "center"
,则会相对于容器的 contentWidth
属性对齐布局元素。
如果该值是 "contentJustify"
,则会将布局元素的实际宽度设置为容器的 contentWidth
。容器的 contentWidth
是最大的布局元素的宽度。如果所有布局元素都小于容器的宽度,则会将所有布局元素的宽度设置为容器的宽度。
如果该值是 "justify"
,则会将布局元素的实际宽度设置为容器的宽度。
此属性不会影响布局的测量大小。
默认值为 "left"。
实现
public function get horizontalAlign():String
public function set horizontalAlign(value:String):void
lastIndexInView | 属性 |
lastIndexInView:int
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
组成布局且在容器的滚动矩形内的最后一行的索引,或者 -1(如果未显示任何内容)。
“布局的组成部分”意味着该子项为非空,且其 includeInLayout
属性为 true
。
请注意该行仅可以部分处于视图中。
此属性可用作数据绑定的源。修改此属性后,将调度 indexInViewChanged
事件。
实现
public function get lastIndexInView():int
相关 API 元素
fractionOfElementInView
paddingBottom | 属性 |
paddingLeft | 属性 |
paddingRight | 属性 |
paddingTop | 属性 |
requestedMaxRowCount | 属性 |
requestedMaxRowCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
此布局的测量高度足够大,至多能够显示 requestedMaxRowCount
个布局元素。
如果已设置 requestedRowCount
,则此属性不起作用。
如果已显式设置容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedMaxRowCount():int
public function set requestedMaxRowCount(value:int):void
相关 API 元素
requestedMinRowCount | 属性 |
requestedMinRowCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
此布局的测量高度足够大,至少能够显示 requestedMinRowCount
个布局元素。
如果已设置 requestedRowCount
,则此属性不起作用。
如果已显式设置容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedMinRowCount():int
public function set requestedMinRowCount(value:int):void
相关 API 元素
requestedRowCount | 属性 |
requestedRowCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
此布局的测量大小将足够高,能够显示第一批 requestedRowCount
布局元素。
如果 requestedRowCount
为 -1,则测量大小足以显示所有布局元素。
如果已显式设置容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedRowCount():int
public function set requestedRowCount(value:int):void
相关 API 元素
rowCount | 属性 |
rowHeight | 属性 |
rowHeight:Number
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
如果 variableRowHeight
为 false
,则此属性指定每个子代的实际高度(以像素为单位)。
如果 variableRowHeight
为 true
(默认值),则此属性没有任何效果。
此属性的默认值是 typicalLayoutElement
的首选高度。
实现
public function get rowHeight():Number
public function set rowHeight(value:Number):void
variableRowHeight | 属性 |
variableRowHeight:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
指定是否给布局元素分配了其首选高度。将此属性设置为 false
会指定固定高度行。
若为 false
,则每个布局元素的实际高度会成为 rowHeight
的值。将此属性设置为 false
会使布局忽略布局元素的 percentHeight
属性。
默认值为 true。
实现
public function get variableRowHeight():Boolean
public function set variableRowHeight(value:Boolean):void
verticalAlign | 属性 |
verticalAlign:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
内容相对于容器高度的垂直对齐。
如果该值为 "bottom"
、"middle"
或 "top"
,则会相对于容器的 contentHeight
属性对齐布局元素。
如果 clipAndEnableScrolling
为 true,并且 contentHeight
大于容器高度,则此属性无效。
此属性不会影响布局的测量大小。
默认值为 "top"。
实现
public function get verticalAlign():String
public function set verticalAlign(value:String):void
VerticalLayout | () | 构造函数 |
public function VerticalLayout()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
fractionOfElementInView | () | 方法 |
public function fractionOfElementInView(index:int):Number
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
如果指定的索引完全在视图中,则返回 1.0;如果不在视图中,则返回 0.0;如果部分处于视图中,则返回在 0.0 和 1.0 之间的一个值(表示处于视图中的部分的百分比)。
如果相应的非空布局元素处于容器的 scrollRect
的垂直限制内且包含在该布局中,则索引会处于视图中。
如果指定的索引部分处于视图中,则返回的值是可见的相应布局元素的百分比。
参数
index:int — 行的索引。
|
Number — 处于视图中的指定的元素的百分比。如果指定的索引无效或它与 null 元素相对应,则返回 0.0;如果 includeInLayout 属性为 false 则返回 ILayoutElement。
|
Tue Jun 12 2018, 11:04 AM Z