自定义 Button 组件

您可以在创作时或在运行时,在水平和垂直方向上改变 Button 组件的形状。在创作时,在舞台上选择组件并使用“任意变形”工具或任何“修改”>“变形”命令。在运行时,使用 setSize() 方法(请参阅 UIObject.setSize())或任何适用的 Button 类的属性和方法(请参阅 Button 类)。调整按钮大小不会更改图标或标签的大小。

Button 实例的边框是不可见的,它同时也指定了该实例的点击区域。如果您增加实例的大小,也就增加了点击区的大小。如果边框太小而无法容纳标签,标签会被裁剪以适合边框。

如果图标比按钮大,它将会延伸到按钮的边框外。

对 Button 组件使用样式

您可以设置样式属性来更改按钮实例的外观。如果样式属性的名称以“Color”结尾,则它是颜色样式属性,并且行为与非颜色样式属性不同。有关详细信息,请参阅使用样式自定义组件的颜色和文本

Button 组件支持下列光晕样式:

样式

描述

themeColor

组件的背景。这是唯一不继承样式值的颜色样式。可能的值包括“haloGreen”、“haloBlue”和“haloOrange”。

color

组件标签的文本。

disabledColor

禁用的文本颜色。

fontFamily

文本的字体名称。

fontSize

字体的磅值。

fontStyle

字体样式:“常规”或“斜体”。

fontWeight

字体粗细:“常规”或“粗体”。

对 Button 组件使用外观

Button 组件使用“动作脚本”绘图 API 来绘制按钮的状态。若要在创作时设计 Button 组件的外观,请修改 ButtonSkin.as 文件(该文件位于 First Run\Classes\mx\skins\halo 文件夹下)中的动作脚本代码。

如果您使用 UIObject.createClassObject() 方法(在运行时)动态创建 Button 组件实例,就可以动态设计其外观。要在运行时设计组件的外观,请设置传递给 createClassObject() 方法的 initObject 参数的外观属性。这些外观属性设置用作按钮状态的元件的名称,元件可以带有图标,也可以没有图标。

如果您在创作过程中设置图标参数,或者在运行时设置 icon 动作脚本属性,则将同一链接标识符指定为三种图标状态:falseUpIconfalseDownIcontrueUpIcon。如果您希望为八种图标状态中的任一种指定唯一的图标(例如,如果您希望在用户按下按钮时显示一个不同的图标),则必须设置传递到 createClassObject() 方法的 initObject 参数的属性。

下面的代码创建了一个名为 initObject 的对象,以用作 initObject 参数,并将外观属性设为新建元件的链接标识符。最后一行代码调用 createClassObject() 方法以创建一个新的 Button 类实例,该实例具有在 initObject 参数中传递的属性,如下所示:

var initObject = new Object();
initObject.falseUpIcon = "MyFalseUpIcon";
initObject.falseDownIcon = "MyFalseDownIcon";
initObject.trueUpIcon = "MyTrueUpIcon";
createClassObject(mx.controls.Button, "ButtonInstance", 0, initObject); 

有关详细信息,请参阅关于设置组件外观UIObject.createClassObject()

如果按钮被启用,当鼠标指针在它上方移过时,它会显示其悬停状态。在单击按钮时,按钮将接收输入焦点并显示其按下状态。当松开鼠标后,按钮又返回其悬停状态。如果在按下鼠标时指针移离按钮,按钮就会返回到其初始状态并保留输入焦点。如果切换参数设置为 true,则按钮的状态不会改变,直到鼠标在它上方松开。

如果按钮被禁用,不管用户进行什么交互操作,它都会显示其禁用状态。

Button 组件使用以下外观属性:

属性

描述

falseUpSkin

弹起状态。默认值为 RectBorder。

falseDownSkin

按下状态。默认值为 RectBorder。

falseOverSkin

悬停状态。默认值为 RectBorder。

falseDisabledSkin

禁用状态。默认值为 RectBorder。

trueUpSkin

切换状态。默认值为 RectBorder。

trueDownSkin

按下切换状态。默认值为 RectBorder。

trueOverSkin

悬停切换状态。默认值为 RectBorder。

trueDisabledSkin

禁用切换状态。默认值为 RectBorder。

falseUpIcon

图标弹起状态。默认值未定义。

falseDownIcon

图标按下状态。默认值未定义。

falseOverIcon

图标悬停状态。默认值未定义。

falseDisabledIcon

图标禁用状态。默认值未定义。

trueUpIcon

图标切换状态。默认值未定义。

trueOverIcon

图标悬停切换状态。默认值未定义。

trueDownIcon

图标按下切换装态。默认值未定义。

trueDisabledIcon

图标禁用切换状态。默认值未定义。