为ToggleButton创建一个新的外观类

时间:2014-02-16 13:31:38

标签: flex flex-spark

我正在使用以下Flex组件:http://flashcommander.org/blog/flex-4-mp3-player

此组件附带的皮肤仅允许非常基本的皮肤,例如背景颜色和边框。但是,该组件使用ToggleButton中定义的Mp3Player.as

import spark.components.ToggleButton;
[SkinPart]
public var playPauseButton:ToggleButton;

我想要做的是在项目中为这个控件定义一个替代皮肤,我对Flex和Spark很新,所以我不确定如何定义一个新皮肤。

Mp3PlayerSkin.mxml文件中,皮肤定义如下:

    <!--- @copy spark.components.VideoPlayer#playPauseButton -->
    <s:ToggleButton id="playPauseButton" left="0" bottom="0" 
            skinClass="spark.skins.spark.mediaClasses.normal.PlayPauseButtonSkin" 
            focusIn="event.target.depth=1" focusOut="event.target.depth=0" />

我假设我可以创建一个新的class,虽然我不知道该怎么做,或删除对该类的引用并以某种方式扩展ToggleButton皮肤。我想我需要以某种方式覆盖'默认'皮肤?

任何指示赞赏......

1 个答案:

答案 0 :(得分:0)

看起来我可以执行以下操作:

  1. 右键单击原始Mp3PlayerSkin.mxml文件
  2. ,创建新的Flex Skin
  3. 将文件命名为toggleButtonSkin.mxml
  4. spark.components.VideoPlayer#playPauseButton
  5. 复制样式
  6. 更新Mp3PlayerSkin.mxml,如下所示:

    <s:ToggleButton id="playPauseButton" left="0" bottom="0" 
            skinClass="org.flashcommander.components.toggleButtonSkin" 
            focusIn="event.target.depth=1" focusOut="event.target.depth=0" />
    
  7. 现在我可以通过编辑新样式来编辑新的toggleButtonSkin.mxml文件。