mx.controls.sliderClassesSlider Slider 类是 Flex 滑块控件的基类。The Slider class cannot be used as an MXML tag. Use the <mx:HSlider> and <mx:VSlider> tags instead. However, the Slider class does define tag attributes used by the <mx:HSlider> and <mx:VSlider> tags.

The Slider class inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:tagname
    Properties
    allowThumbOverlap="false|true"
    allowTrackClick="true|false"
    dataTipFormatFunction="undefined"
    direction="horizontal|vertical"
    labels="undefined"
    liveDragging="false|true"
    maximum="10"
    minimum="0"
    showDataTip="true|false"
    sliderDataTipClass="sliderDataTip"
    sliderThumbClass="SliderThumb"
    snapInterval="0"
    thumbCount="1"
    tickInterval="0"
    tickValues="undefined"
    value="The value of the minimum property."
 
    Styles
    borderColor="0x919999"
    dataTipOffset="16"
    dataTipPrecision="2"
    dataTipStyleName="undefined"
    fillAlphas="[0.6, 0.4, 0.75, 0.65]"
    fillColors="[0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE;]"
    labelOffset="-10"
    labelStyleName="undefined"
    showTrackHighlight="false"
    slideDuration="300"
    slideEasingFunction="undefined"
    thumbDisabledSkin="SliderThumbSkin"
    thumbDownSkin="SliderThumbSkin"
    thumbOffset="0"
    thumbOverSkin="SliderThumbSkin"
    thumbUpSkin="SliderThumbSkin"
    tickColor="0x6F7777"
    tickLength="3"
    tickOffset="-6"
    tickThickness="1"
    trackColors="[ 0xEEEEEE, 0xFFFFFF ]"
    tracHighlightSkin="SliderHighlightSkin"
    trackMargin="undefined"
    trackSkin="SliderTrackSkin"
  
    Events
    change="No default"
    thumbDrag="No default"
    thumbPress="No default"
    thumbRelease="No default"
  />
  
]]>
mx.core:UIComponent Slider 类是 Flex 滑块控件的基类。使用滑块控件,用户可以通过在滑块轨道的端点之间移动滑块来选择值。滑块的当前值由滑块端点(对应于滑块的最小值和最大值)之间滑块的相对位置确定。Slider 类会子类化为 HSlider 和 VSlider。 thumbRelease 释放滑块(即用户在 thumbPress 事件后释放鼠标按键)时分派。mx.events.SliderEvent.THUMB_RELEASEmx.events.SliderEvent 释放滑块(即用户在 thumbPress 事件后释放鼠标按键)时分派。 thumbPress 按下滑块(即用户在滑块上按下鼠标按键)时分派。mx.events.SliderEvent.THUMB_PRESSmx.events.SliderEvent 按下滑块(即用户在滑块上按下鼠标按键)时分派。 thumbDrag 按下滑块并使用鼠标移动滑块时分派。mx.events.SliderEvent.THUMB_DRAGmx.events.SliderEvent 按下滑块并使用鼠标移动滑块时分派。此事件始终发生在 thumbPress 事件之后。 change 由于鼠标或键盘操作而更改滑块值时分派。mx.events.SliderEvent.CHANGEmx.events.SliderEvent 由于鼠标或键盘操作而更改滑块值时分派。

如果 liveDragging 属性是 true,则在用户移动滑块时持续分派该事件。如果 liveDraggingfalse,则在用户释放滑块时分派该事件。

Slider 构造函数。 构造函数。 getThumbAt 返回给定索引处的滑块对象。对 SliderThumb 对象的引用。 mx.controls.sliderClasses:SliderThumbindex滑块的从零开始的索引编号。 返回给定索引处的滑块对象。使用此方法可设置滑块控件中各个滑块的样式并进行自定义。 measure 计算组件占用的空间量。 计算组件占用的空间量。水平滑块控件通过检测其标签、刻度线和滑块相对于轨道的位置来计算其高度。控件的高度等于从最高元素的顶部位置减去最低元素的底部位置所得的值。水平滑块控件的默认宽度为 250 个像素。对于垂直滑块控件,宽度值和长度值将相互交换。 setThumbValueAt 此方法可设置滑块的值,并更新显示。index滑块用于设置值的从零开始的索引编号,其中 0 值对应于第一个滑块。 value要为滑块设置的值 此方法可设置滑块的值,并更新显示。 updateDisplayList 确定控件元素的位置。unscaledWidth指定组件在组件坐标中的宽度(以像素为单位),而不考虑该组件的 scaleX 属性值。 unscaledHeight指定组件在组件坐标中的高度(以像素为单位),而不考虑该组件的 scaleY 属性值。 确定控件元素的位置。轨道、滑块、标签和刻度线均可由此方法定位和设置大小。轨道的大小基于标签长度以及轨道边距设置。如果指定了 trackMargin,则轨道大小等于可用宽度减去 trackMargin 与 2 的乘积。

刻度线从轨道的起始处开始沿轨道以相等的间隔分布。如果轨道末端没有刻度线,则在此处额外添加一条刻度线(如果刻度线间隔不是最大值的因子)。刻度线的 y 位置基于 tickOffset。偏移 0 表示将刻度线的底部置于轨道的顶部。负偏移量表示将刻度线沿轨道向上移动,而正偏移量表示将它们沿轨道向下移动。

标签将沿轨道以相同间隔放置。除非 trackMargin 的设置过小,否则标签将始终在其间隔位置上方水平居中显示。如果指定了 trackMargin,则第一个标签和最后一个标签将会将自身定位到控件的左边界和右边界。标签重叠时,不会裁剪自身也不会重新调整自身大小,所以请确保为它们留出了足够的空间以适应轨道的大小。y 位置基于 labelOffset 属性。偏移量 0 表示将标签的底部放置在轨道的顶部。与刻度线不同,无法将标签定位到与轨道重叠的位置。如果偏移量为正数,则表示将标签的顶部置于轨道的底部之下。

将滑块定位到与轨道重叠的位置。它们的 x 位置由其值确定。y 位置由 thumbOffset 属性控制。偏移量 0 表示将滑块的中心置于轨道的中心。负偏移量表示将滑块向上移动,而正偏移量表示将滑块向下移动。

刻度线、标签和滑块的位置是彼此独立的。如果重叠,它们不会尝试改变自身位置。

同样的规则也适用于垂直滑块控件。在上述描述中,将宽度替换为高度、高度替换为宽度、左侧替换为上方或顶部、右侧替换为下方或底部、x 位置替换为 y 位置以及 y 位置替换为 x 位置。

allowThumbOverlap 如果设置为 false,则仅可以将每个滑块移动到其相邻滑块的边缘。falsefalse 如果设置为 false,则仅可以将每个滑块移动到其相邻滑块的边缘。如果设置为 true,则可将滑块移动到轨道的任何位置。 allowTrackClick 指定在轨道上单击是否会移动滑块。truetrue 指定在轨道上单击是否会移动滑块。 liveDragging 指定是否为滑块启用实时拖动。falsefalse 指定是否为滑块启用实时拖动。如果设置为 false,则 Flex 会设置 valuevalues 属性并在用户停止拖动滑块时分派 change 事件。如果为 true,则 Flex 会设置 valuevalues 属性并当用户移动滑块时连续分派 change 事件。 showDataTip 如果设置为 true,则在用户交互期间将显示包含滑块当前值的数据提示。truetrue 如果设置为 true,则在用户交互期间将显示包含滑块当前值的数据提示。 dataTipFormatFunction 格式化数据提示文本的回调函数。undefined 格式化数据提示文本的回调函数。此函数使用单个 Number 作为参数并返回格式化的 String。

此函数包含下列签名:

      funcName(value:Number):String
      

以下示例采用美元符号作为数据提示文本的前缀,并使用名为“slide”的 Slider 控件的 dataTipPrecision 格式化该文本。

      import mx.formatters.NumberBase;
      function myDataTipFormatter(value:Number):String { 
          var dataFormatter:NumberBase = new NumberBase(".", ",", ".", ""); 
          return   "$ " + dataFormatter.formatPrecision(String(value), slide.getStyle("dataTipPrecision")); 
      }
      
direction Slider 控件的方向。SliderDirection.HORIZONTAL Slider 控件的方向。MXML 中的有效值为 "horizontal""vertical"

在 ActionScript 中,可以使用下列常量设置此属性:SliderDirection.VERTICALSliderDirection.HORIZONTAL

HSlider 和 VSlider 控件已为您设置此属性;在使用这些控件时,无需设置此属性。
mx.controls.sliderClasses.SliderDirection
labels 用于滑块标签的字符串数组。undefined 用于滑块标签的字符串数组。Flex 将标签定位在轨道的开始处,并从轨道的开始处到末端将其均匀放置。

例如,如果此数组包含三个项目,则会将第一个项目置于轨道开始处,将第二个项目置于轨道中间部分,并将最后一个项目置于轨道的末端。

如果仅指定了一个标签,则会将此标签置于轨道的开始处。默认情况下,会将标签放置在刻度线(如果显示)上方或轨道上方。要对齐标签与刻度线,请确保刻度线数量与标签数量相等。

maximum 滑块上允许的最大值。10 滑块上允许的最大值。 minimum 滑块控件上允许的最小值。0 滑块控件上允许的最小值。 sliderDataTipClass 对用于数据提示的类的引用。SliderDataTip 对用于数据提示的类的引用。 sliderThumbClass 对用于每个滑块的类的引用。SliderThumb 对用于每个滑块的类的引用。 snapInterval 指定当用户移动滑块时滑块的增值。0 指定当用户移动滑块时滑块的增值。例如,如果 snapInterval 为 2,minimum 值为 0,maximum 值为 10,则当用户移动滑块时,该滑块会自行定位到 0、2、4、6、8 和 10。如果该值为 0,则意味着滑块在 minimum 值和 maximum 值之间连续移动。 thumbCount Slider 控件所允许的滑块数量。1 Slider 控件所允许的滑块数量。可能的值为 1 或 2。如果设置为 1,则 value 属性将包含滑块的当前值。如果设置为 2,则 values 属性会包含提供每个滑块值的值数组。 thumbStyleFilters 从 Slider 传递到滑块的样式集。 从 Slider 传递到滑块的样式集。 mx.styles.StyleProxytickInterval 刻度线相对于控件 maximum 值的间距。0 刻度线相对于控件 maximum 值的间距。将 tickInterval 属性设置为非零值时,Flex 会显示刻度线。

例如,如果 tickInterval 为 1 而 maximum 为 10,则沿 Slider 每隔 1/10 处都会放置一条刻度线。如果值为 0,则不会显示刻度线。如果 tickValues 属性设置为非空 Array,则将忽略此属性。

tickValues 滑块上刻度线的位置。undefined 滑块上刻度线的位置。这些位置与滑块上的值对应,并应介于 minimum 值和 maximum 值之间。例如,如果 tickValues 属性设置为 [0, 2.5, 7.5, 10],maximum 设置为 10,则会沿滑块在下列位置放置刻度线:滑块的开始处、从左端起全程的 1/4 处、从左端起全程的 3/4 处,以及滑块的末端。

如果将此属性设置为非空 Array,则 tickInterval 属性将被忽略。

value 包含滑块的位置,并且此值介于 minimum 属性和 maximum 属性之间。 包含滑块的位置,并且此值介于 minimum 属性和 maximum 属性之间。当 thumbCount 为 1 时,使用 value 属性。当 thumbCount 大于 1 时,则使用 values 属性。默认值等于 minimum 属性。 values 当 thumbCount 大于 1 时,每个滑块的值构成的数组。 thumbCount 大于 1 时,每个滑块的值构成的数组。
SliderDirection SliderDirection 类定义 Slider 类的 direction 属性的常数值。Object SliderDirection 类定义 Slider 类的 direction 属性的常量值。 mx.controls.sliderClasses.SliderHORIZONTAL 指定显示水平滑块。horizontal 指定显示水平滑块。HSlider 控件使用此常量。 VERTICAL 指定显示垂直滑块。vertical 指定显示垂直滑块。VSlider 控件使用此常量。 SliderDataTip SliderDataTip 类定义用于 mx.controls.Slider 控件的工具提示。mx.controls:ToolTip SliderDataTip 类定义用于 mx.controls.Slider 控件的工具提示。此类不会向 mx.controls.ToolTip 添加其它功能。仅使用它来应用类型选择器样式。 mx.controls.HSlidermx.controls.VSlidermx.controls.sliderClasses.Slidermx.controls.sliderClasses.SliderLabelmx.controls.sliderClasses.SliderThumbSliderDataTip 构造函数。 构造函数。 SliderLabel SliderLabel 类定义用于 mx.controls.Slider 组件的标签。mx.controls:Label SliderLabel 类定义用于 mx.controls.Slider 组件的标签。此类不向 mx.controls.Label 添加其它任何功能。使用此类可应用类型选择器样式。 mx.controls.HSlidermx.controls.VSlidermx.controls.sliderClasses.Slidermx.controls.sliderClasses.SliderDataTipmx.controls.sliderClasses.SliderThumbSliderLabel 构造函数。 构造函数。 SliderThumb SliderThumb 类提供 Slider 控件的滑块。mx.controls:Button SliderThumb 类提供 Slider 控件的滑块。SliderThumb 类仅可用于 Slider 控件的上下文。您可以创建 SliderThumb 类的子类,以及通过将 Slider 控件的 sliderThumbClass 属性设置为您的子类而将该子类与 Slider 控件一同使用。 mx.controls.HSlidermx.controls.VSlidermx.controls.sliderClasses.Slidermx.controls.sliderClasses.SliderDataTipmx.controls.sliderClasses.SliderLabelSliderThumb 构造函数。 构造函数。 xPosition 指定滑块中心在 x 轴上的位置。 指定滑块中心在 x 轴上的位置。