我想使用Actionscript动态创建带有图标的按钮。
我试过这个,没有成功:
var closeButton = new Button();
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png");
答案 0 :(得分:11)
我找到了一个适合我的答案。在我的.mxml文件中,我为我将使用的图标创建了类:
// Classes for icons
[Embed(source='images/closeWindowUp.png')]
public static var CloseWindowUp:Class;
[Embed(source='/images/Down_Up.png')]
public static var Down_Up:Class;
[Embed(source='/images/Up_Up.png')]
public static var Up_Up:Class;
在我的应用程序的Actionscript部分中,我在动态创建按钮时使用这些类:
var buttonHBox:HBox = new HBox();
var closeButton:Button = new Button();
var upButton:Button = new Button();
var downButton:Button = new Button();
closeButton.setStyle("icon", SimpleWLM.CloseWindowUp);
buttonHBox.addChild(closeButton);
upButton.setStyle("icon", SimpleWLM.Up_Up);
buttonHBox.addChild(upButton);
downButton.setStyle("icon", SimpleWLM.Down_Up);
buttonHBox.addChild(downButton);
答案 1 :(得分:3)
您可以使用动态更改按钮图标的这一个选项。
嵌入您的图标
[Embed(source='com/images/play.png')]
[Bindable]
public var imagePlay:Class;
[Embed(source='com/images/pause.png')]
[Bindable]
public var imagePause:Class;
使用一个按钮切换视频播放和暂停
private function playpause():void
{
if (seesmicVideo.playing)
{
seesmicVideo.pause();
btn_play.setStyle("icon",imagePlay);
}
else
{
seesmicVideo.play();
btn_play.setStyle("icon",imagePause);
}
}
答案 2 :(得分:2)
错误在引号中,@Embed
:
closeButton.setStyle("icon", @Embed(source="images/closeWindowUp.png"));
答案 3 :(得分:1)
我可以使用以下代码在我的按钮中使用图标:
<mx:Button id="buttonPlay" label="Play" click="playButtonClicked();" enabled="false" icon="@Embed('./play.png')"/>
文件play.png位于mxml文件的同一文件夹中。
我使用的是Flash Builder 4.6版。
编辑:问题是关于ActionScript而不是MXML,但我留下这个答案仅供参考。
答案 4 :(得分:0)
我假设你要把它添加到舞台上?
另外,我认为你的Embed缺少一个近距离/ paren。
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png");
应该是:
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png')");