Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如果我想要不同的图标,我应该为每个按钮创建一个皮肤类吗?_Apache Flex_Flex4 - Fatal编程技术网

Apache flex 如果我想要不同的图标,我应该为每个按钮创建一个皮肤类吗?

Apache flex 如果我想要不同的图标,我应该为每个按钮创建一个皮肤类吗?,apache-flex,flex4,Apache Flex,Flex4,我有一系列的按钮,每个按钮都有自己的图标。 我想知道是否必须为每个按钮创建一个Spark皮肤文件,以便分配其图标 多亏了您不必创建单独的皮肤,您可以创建一个皮肤和一个类(扩展了按钮),该属性可以设置为根据按钮确定要绘制的图标 您可以像这样扩展button类 package com.components { import spark.components.Button; //icons [Style(name="iconImg",type="*")]

我有一系列的按钮,每个按钮都有自己的图标。 我想知道是否必须为每个按钮创建一个Spark皮肤文件,以便分配其图标


多亏了您不必创建单独的皮肤,您可以创建一个皮肤和一个类(扩展了
按钮
),该属性可以设置为根据按钮确定要绘制的图标

您可以像这样扩展button类

package com.components
{
    import spark.components.Button;     

    //icons
    [Style(name="iconImg",type="*")]

    public class IconButton extends Button
    {
        public function IconButton()
        {
            super();
        }
    }
}
<mx:Image id="icon" source="{hostComponent.getStyle('iconImg')}"  />
此时,您将有一组
IconButton
s,并且需要为每个按钮设置
iconImg
属性

声明图标

[Embed('assets/bookmarkIcon.png')]
public static const icon_bookmark:Class;
并设置
iconImg
属性

<components:IconButton id="ibBookmark"
               iconImg="{icon_bookmark}"
               skinClass="com.skins.IconButtonSkin"                        
               click="" /> 

然后在你的皮肤中使用这样的属性

package com.components
{
    import spark.components.Button;     

    //icons
    [Style(name="iconImg",type="*")]

    public class IconButton extends Button
    {
        public function IconButton()
        {
            super();
        }
    }
}
<mx:Image id="icon" source="{hostComponent.getStyle('iconImg')}"  />

您不必创建单独的外观,您可以创建一个外观和一个类(扩展
按钮)
,并设置一个属性,以根据按钮确定要绘制的图标

您可以像这样扩展button类

package com.components
{
    import spark.components.Button;     

    //icons
    [Style(name="iconImg",type="*")]

    public class IconButton extends Button
    {
        public function IconButton()
        {
            super();
        }
    }
}
<mx:Image id="icon" source="{hostComponent.getStyle('iconImg')}"  />
此时,您将有一组
IconButton
s,并且需要为每个按钮设置
iconImg
属性

声明图标

[Embed('assets/bookmarkIcon.png')]
public static const icon_bookmark:Class;
并设置
iconImg
属性

<components:IconButton id="ibBookmark"
               iconImg="{icon_bookmark}"
               skinClass="com.skins.IconButtonSkin"                        
               click="" /> 

然后在你的皮肤中使用这样的属性

package com.components
{
    import spark.components.Button;     

    //icons
    [Style(name="iconImg",type="*")]

    public class IconButton extends Button
    {
        public function IconButton()
        {
            super();
        }
    }
}
<mx:Image id="icon" source="{hostComponent.getStyle('iconImg')}"  />


谢谢,这个解决方案也适用于过度和过度状态吗?Np--是的,您可以根据需要在IconButton类中添加任意多的样式标记,然后在皮肤中按状态分配不同的源谢谢,这个解决方案也适用于过度和过度状态吗?Np--是的,可以根据需要在IconButton类中添加任意多的样式标记,然后在蒙皮中按状态指定不同的源