如何从flex actionscript的复选框类中获取复选框图标?

时间:2011-01-13 13:42:14

标签: flex icons

我想获取flex Framework的checkBox类中出现的checkBox图像如何访问该图像。

需要帮助

问候。

3 个答案:

答案 0 :(得分:1)

如果您使用的是Flex 4组件,则复选框Icon不是图像,而是复选框组件标准Skin内的矢量路径。如果你想从课堂上访问,你可以这样做:

var mySkin:CheckBoxSkin = this.skin as CheckBoxSkin;
mySkin.check = WhateverYouWannaDoWithIt;

但是如果您只想更改复选框的外观,只需创建一个自定义CheckBoxSkin(您也可以添加图像图标)并将其分配给您的复选框组件。

答案 1 :(得分:1)

正如Chris所说,复选标记是使用FXG绘制的,而不是存储为位图。这是FXG的复选标记,取自CheckBoxSkin(并清理了一点):

<s:Path left="2" top="0" id="check"
        data="M 9.2 0.1 L 4.05 6.55 L 3.15 5.0 L 0.05 5.0 L 4.6 9.7 L 12.05 0.1 L 9.2 0.1">        
    <s:fill>
        <s:SolidColor id="checkMarkFill" color="0" alpha="0.8" />
    </s:fill>
</s:Path>

您可以创建一个自定义组件,只显示此路径并将其插入您喜欢的任何位置。希望有所帮助。

答案 2 :(得分:0)

我假设您想要更改图像?

如果是这样,这是Flex 3的一个很好的例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/08/25/changing-a-checkbox-controls-icon/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            [Bindable]
            [Embed(source="assets/icon_accept.gif")]
            public var AcceptIcon:Class;

            [Bindable]
            [Embed(source="assets/icon_alert.gif")]
            public var AlertIcon:Class;
        ]]>
    </mx:Script>

    <mx:CheckBox id="checkBox"
            label="Custom icon test (selected={checkBox.selected})"

            disabledIcon="{AlertIcon}"
            downIcon="{AlertIcon}"
            overIcon="{AlertIcon}"
            upIcon="{AlertIcon}"

            selectedDisabledIcon="{AcceptIcon}"
            selectedDownIcon="{AcceptIcon}"
            selectedOverIcon="{AcceptIcon}"
            selectedUpIcon="{AcceptIcon}"
         />

</mx:Application>

来自blog.flexexamples.com的例子(这几天几乎总是失败!