包 | spark.layouts |
类 | public class HorizontalLayout |
继承 | HorizontalLayout LayoutBase OnDemandEventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
元素的水平位置是按水平顺序从左到右进行排列,并考虑在第一个元素之前的填充和元素之间的间隙来确定的。
元素的垂直位置由布局的 verticalAlign
属性确定。
在 measure()
方法的执行过程中,容器的默认大小是通过累计元素(包括间隙和填充)的首选大小计算的。如果将 requestedColumnCount
属性设置为 -1 之外的其他值,则仅会从第一个元素开始,测量那些元素的空间。
在 updateDisplayList()
方法的执行过程中,会根据以下规则计算每个元素的宽度,这些规则按各自的优先级顺序列出(始终会考虑元素的最小宽度和最大宽度):
- 如果
variableColumnWidth
为false
,则会将元素的高度设置为columnWidth
属性的值。 - 如果已设置元素的
percentWidth
,则会通过在使用percentWidth
设置的所有元素之间分发可用的容器宽度来计算元素的宽度。可用容器宽度等于容器宽度减去间隙、填充和其余元素所占用的空间。虚拟化布局之后,会忽略元素的precentWidth
属性。 - 将元素的宽度设置为其首选宽度。
根据以下按各自的优先级顺序列出的规则,计算每个元素的高度(始终会考虑元素的最小高度和最大高度):
- 如果
verticalAlign
属性为"justify"
,则会将元素的高度设置为容器高度。 - 如果
verticalAlign
属性为"contentJustify"
,则会将元素的高度设置为容器的高度与所有元素的首选高度之间的最大值。 - 如果已设置元素的
percentHeight
属性,则会将元素的高度计算为容器高度的某个百分比。 - 将元素的高度设置为其首选高度。
The <s:HorizontalLayout>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HorizontalLayout Properties columnWidth="calculated" gap="6" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount="-1" requestedMaxColumnCount="-1" requestedMinColumnCount="-1" variableColumnWidth="true" verticalAlign="top" />
属性 | 由以下参数定义 | ||
---|---|---|---|
clipAndEnableScrolling : Boolean
如果为 true,指定将子代剪切到视区的边界。 | LayoutBase | ||
columnCount : int [只读]
返回视图中的元素的当前数目。 | HorizontalLayout | ||
columnWidth : Number
如果 variableColumnWidth 属性为 false,则此属性指定每个布局元素的实际宽度(以像素为单位)。 | HorizontalLayout | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
dropIndicator : DisplayObject
该布局在拖放操作过程中用于拖放指示符的 DisplayObject。 | LayoutBase | ||
firstIndexInView : int [只读]
组成布局且在布局目标的滚动矩形内的第一列的索引,或者 -1(如果未显示任何内容)。 | HorizontalLayout | ||
gap : int
布局元素之间的水平空间(以像素为单位)。 | HorizontalLayout | ||
horizontalAlign : String
内容相对于容器宽度的水平对齐。 | HorizontalLayout | ||
horizontalScrollPosition : Number
组件的坐标系中视域原点(默认值为 (0,0),与组件的左上角相对应)的 x 坐标。 | LayoutBase | ||
lastIndexInView : int [只读]
组成布局且在布局目标的滚动矩形内的最后一列的索引,或者 -1(如果未显示任何内容)。 | HorizontalLayout | ||
paddingBottom : Number
容器的底边缘与所有容器的布局元素的底边缘之间的最少像素数。 | HorizontalLayout | ||
paddingLeft : Number
容器的左边缘与第一个布局元素的左边缘之间的像素数。 | HorizontalLayout | ||
paddingRight : Number
容器的右边缘与最后一个布局元素的右边缘之间的像素数。 | HorizontalLayout | ||
paddingTop : Number
容器的顶边缘与所有容器的布局元素的顶边缘之间的最少像素数。 | HorizontalLayout | ||
requestedColumnCount : int
此布局的测量大小足够宽,能够显示第一批 requestedColumnCount 布局元素。 | HorizontalLayout | ||
requestedMaxColumnCount : int
此布局的测量宽度足够大,至多能够显示 requestedMaxColumnCount 个布局元素。 | HorizontalLayout | ||
requestedMinColumnCount : int
此布局的测量宽度足够大,至少能够显示 requestedMinColumnCount 个布局元素。 | HorizontalLayout | ||
target : GroupBase
此布局将测量其元素、调整其元素的大小并定位其元素的 GroupBase 容器。 | LayoutBase | ||
typicalLayoutElement : ILayoutElement
当请求固定的行/列大小而未指定某个特定大小时,由布局所使用。 | LayoutBase | ||
useVirtualLayout : Boolean
一个容器可包含任意数量的子项。 | LayoutBase | ||
variableColumnWidth : Boolean
若为 true,则指定要为布局元素分配其首选宽度。 | HorizontalLayout | ||
verticalAlign : String
布局元素的垂直对齐。 | HorizontalLayout | ||
verticalScrollPosition : Number
组件的坐标系中视区的原点(默认值为 (0,0),与组件的左上角相对应)的 y 坐标。 | LayoutBase |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | HorizontalLayout | ||
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 之间的一个值(表示处于视图中的部分的百分比)。 | HorizontalLayout | ||
如果索引无效、相应的元素为 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 |
columnCount | 属性 |
columnWidth | 属性 |
columnWidth:Number
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
如果 variableColumnWidth
属性为 false
,则此属性指定每个布局元素的实际宽度(以像素为单位)。
如果 variableColumnWidth
属性为 true
(默认值),则此属性没有任何效果。
此属性的默认值是 typicalLayoutElement
属性指定的项的首选宽度。
实现
public function get columnWidth():Number
public function set columnWidth(value:Number):void
firstIndexInView | 属性 |
gap | 属性 |
horizontalAlign | 属性 |
horizontalAlign:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
内容相对于容器宽度的水平对齐。如果该值为 "left"
、"right"
或 "center"
,则会相对于容器的 contentWidth
属性对齐布局元素。
如果 clipAndEnableScrolling
为 true,并且 contentWidth
大于容器宽度,则此属性无效。
此属性不会影响布局的测量大小。
默认值为 "left"。
实现
public function get horizontalAlign():String
public function set horizontalAlign(value:String):void
lastIndexInView | 属性 |
paddingBottom | 属性 |
paddingLeft | 属性 |
paddingRight | 属性 |
paddingTop | 属性 |
requestedColumnCount | 属性 |
requestedColumnCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
此布局的测量大小足够宽,能够显示第一批 requestedColumnCount
布局元素。如果 requestedColumnCount
为 -1,则测量大小足以显示所有布局元素。
如果已显式设置使用该布局的容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedColumnCount():int
public function set requestedColumnCount(value:int):void
相关 API 元素
requestedMaxColumnCount | 属性 |
requestedMaxColumnCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
此布局的测量宽度足够大,至多能够显示 requestedMaxColumnCount
个布局元素。
如果已设置 requestedColumnCount
,则此属性不起作用。
如果已显式设置使用该布局的容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedMaxColumnCount():int
public function set requestedMaxColumnCount(value:int):void
相关 API 元素
requestedMinColumnCount | 属性 |
requestedMinColumnCount:int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10, AIR 2.5 |
此布局的测量宽度足够大,至少能够显示 requestedMinColumnCount
个布局元素。
如果已设置 requestedColumnCount
,则此属性不起作用。
如果已显式设置使用该布局的容器的实际大小,则此属性不起作用。
默认值为 -1。
实现
public function get requestedMinColumnCount():int
public function set requestedMinColumnCount(value:int):void
相关 API 元素
variableColumnWidth | 属性 |
variableColumnWidth:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
若为 true
,则指定要为布局元素分配其首选宽度。
将此属性设置为 false
会指定固定宽度列。每个布局元素的实际宽度是 columnWidth
属性的值,且该布局会忽略布局元素的 percentWidth
属性。
默认值为 true。
实现
public function get variableColumnWidth():Boolean
public function set variableColumnWidth(value:Boolean):void
verticalAlign | 属性 |
verticalAlign:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
布局元素的垂直对齐。
如果该值为 "bottom"
、"middle"
或 "top"
,则会相对于容器的 contentHeight
属性对齐布局元素。
如果该值为 "contentJustify"
,则会将布局元素的实际高度设置为容器的 contentHeight
属性。容器的内容高度是最大的布局元素的高度。如果所有布局元素都小于容器的高度,则会将所有布局元素的高度设置为容器的高度。
如果该值为 "justify"
,则会将布局元素的实际高度设置为容器的高度。
如果该值是 "baseline"
,则会定位元素,使其文本与元素文本提升的最大量对齐。
默认值为 "top"。
实现
public function get verticalAlign():String
public function set verticalAlign(value:String):void
HorizontalLayout | () | 构造函数 |
public function HorizontalLayout()
语言版本: | 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