Создание кнопки со значком в actionscript
Я хочу создавать кнопки со значками в Flex динамически с помощью Actionscript.
я попробовал это, без успеха:
var closeButton = new Button();
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png");
5 ответов
Я нашел ответ, который работает для меня. В моем.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);
Вы можете использовать эту опцию динамического изменения значка кнопки.
вставить ваши иконки
[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);
}
}
ошибка в кавычках, не должно быть кавычек вокруг @Embed
:
closeButton.setStyle("icon", @Embed(source="images/closeWindowUp.png"));
я смог использовать значок в моей кнопке со следующим кодом:
<mx:Button id="buttonPlay" label="Play" click="playButtonClicked();" enabled="false" icon="@Embed('./play.png')"/>
файла играть.png находится в той же папке файла mxml.
Я использую Flash Builder версии 4.6.
Edit: вопрос был о ActionScript, а не MXML, но я оставляю этот ответ только для справки.
Я предполагаю, что вы добавляете его на сцену?
кроме того, я думаю, что в вашем Embed отсутствует близкая цитата / paren.
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png");
должно быть:
closeButton.setStyle("icon", "@Embed(source='images/closeWindowUp.png')");