2

我正在尝试为每个按钮添加不同的图标。我已经准备好皮肤文件,但不确定是否必须为每个按钮创建不同的皮肤类。听起来效率低下。有什么建议么?

<s:Button id="pass"
    width="110"
    height="35"
    fontWeight="bold" 
    fontSize="12" 
    fontFamily="arial" 
    label="Past Track" 
    click="pass_clickHandler(event)" 
    skinClass="skins.CustomSkin"/>      
<s:Button id="future" 
    width="110"
    height="20"
    fontWeight="bold" 
    fontSize="12" 
    fontFamily="arial" 
    label="Future Plan"
    click="future_clickHandler(event)"
    skinClass="skins.CustomSkin"/>

皮肤:

<!-- layer 2: fill -->
<!--- @private -->
<s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2">
    <s:fill>
        <s:LinearGradient rotation="90">
            <s:GradientEntry color="#304fd7" 
                             color.over="#4b6bf6" 
                             color.down="0xAAAAAA" 
                             alpha="0.85" />
            <s:GradientEntry color="#1f38a3" 
                             color.over="#3653cf" 
                             color.down="0x929496" 
                             alpha="0.85" />
        </s:LinearGradient>
    </s:fill>
</s:Rect>

<!-- icon --> // I could add my icon here but that would make me create  
              // a different icon image for different button
4

2 回答 2

3

安装 10.2 Flash Player 和稳定的 Hero SDK (4.5.0.19786)。然后,您可以使用 Spark Button 的 icon 属性。

http://labs.adobe.com/downloads/flashplayer10.html http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero

请注意,您的项目必须专门针对播放器版本 10.2.0。除非我的环境有问题,否则在 Flash Builder 的项目编译器设置中使用“使用 Flex SDK 所需的最低版本”选项不适用于此“稳定”sdk。我不明白为什么这样的事情不能像你认为的那样表现。如果有人知道 FB 在哪里找到这个最低播放器版本,请加入。我在 flex-config.xml 文件(sdk 的 frameworks 文件夹内)中看到以下内容:

<!-- 指定将运行已编译 SWF 的最低播放器版本。-->
<target-player>10.2.0</target-player>

Flash Builder 似乎忽略了这一点,因为在项目属性中使用最低要求版本设置时,它仍在尝试查看 libs/player/10.1 文件夹。这是 Adob​​e 的一个主要痛点,似乎每个版本都引入了一些小问题,最终会让人们感到沮丧,以至于放弃 Flash 作为一个可行的开发平台。如果此 adobe 有修复程序,请帮助我们并在此处发布。

于 2011-02-08T00:38:17.787 回答
3

它不是内置的,但是一些人已经创建了支持 Spark Buttons 中图标的组件:

http://themorphicgroup.net/blog/?p=83
http://www.andymcintosh.com/?p=179

于 2010-06-11T18:09:36.110 回答