Как добавить Image в UIComponent

1 view
Skip to first unread message

Sveta

unread,
Apr 26, 2008, 10:25:21 AM4/26/08
to ruf...@googlegroups.com
Всем добрый день!
Есть mxml-код:
        <mx:UIComponent id="uic" width="100%" height="100%" />

Как динамически (ActionScript) добавить в этот компонент изображение (предполагается, что оно будет Embeded)
(В последствии это изображение должно быть удалено - в обработчике определенного события)

Пытаюсь так:
<mx:Script><![CDATA[
import mx.controls.Image;

[Embed(source="/images/play.png")]
[Bindable]
public var preloaderCls:Class;

var _preloadImg:Image;

public function init():void {
    _preloadImg = new Image();
    _preloadImg.source = preloaderCls;
    _preloadImg.x = 0;
    _preloadImg.y = 0;
     uic.addChild(_preloadImg);
}
]]>
</mx:Script>

Можно ли вообще добавить изображение в UIComponent?
Пробовала с контейнером Panel, все работает, а с этим нет

------~-------~--~----~
Снова открыта русскоязычная Flex-вики: http://wiki.flash-ripper.com/
Страница группы с поиском и прочим: http://groups-beta.google.com/group/ruflex?hl=en

Первое правило мейл листа руФлекс:
Письма отправляются в UTF-8 с ящика, на который пришло письмо.

Второе правило мейл листа руФлекс:
Ненужные цитаты при ответе удаляются.

Написать в группу: ruf...@googlegroups.com
Отписаться: ruflex-un...@googlegroups.com
-~----------~----~----~----~------~----~------~--~---

Alexander Negoda

unread,
Apr 26, 2008, 10:44:05 AM4/26/08
to ruf...@googlegroups.com

Можно ли вообще добавить изображение в UIComponent?
Пробовала с контейнером Panel, все работает, а с этим нет



Размер надо указать явно для Image:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    creationComplete="init()"

    >
    <mx:Script><![CDATA[
        import mx.controls.Image;
       
        [Embed(source="image.gif")]

        [Bindable]
        public var preloaderCls:Class;
       
        var _preloadImg:Image;
       
        public function init():void {
            _preloadImg = new Image();
            _preloadImg.source = preloaderCls;
            _preloadImg.x = 0;
            _preloadImg.y = 0;
            _preloadImg.width=100;
            _preloadImg.height=100;
             uic.addChild(_preloadImg);
        }
        ]]>
</mx:Script>

    <mx:UIComponent id="uic" width="100%" height="100%" />
</mx:Application>

doomer samoilOFF

unread,
Apr 26, 2008, 10:44:31 AM4/26/08
to ruf...@googlegroups.com
используй Canvas

Alexander Negoda

unread,
Apr 26, 2008, 10:47:19 AM4/26/08
to ruf...@googlegroups.com
А если не секрет, то зачем такая комбинация хитрая? В UIComponent обычно добавляют MovieClip, чтобы во флексе заюзать. А Image сам является UIComponent, и нет смысла в него добавлять другие UIComponent-ы.

Sveta

unread,
Apr 26, 2008, 1:12:42 PM4/26/08
to ruf...@googlegroups.com
Хочется сделать фон для компонента (UIComponent), а не знаю как лучше (Можно, чтобы он был просто однотонный)

26 апреля 2008 г. 18:47 пользователь Alexander Negoda <alexande...@gmail.com> написал:

А если не секрет, то зачем такая комбинация хитрая? В UIComponent обычно добавляют MovieClip, чтобы во флексе заюзать. А Image сам является UIComponent, и нет смысла в него добавлять другие UIComponent-ы.





--
Желаю Вам большой удачи и грандиозных успехов!

Alexander Negoda

unread,
Apr 26, 2008, 2:50:04 PM4/26/08
to ruf...@googlegroups.com
26 апреля 2008 г. 21:12 пользователь Sveta <yesfo...@gmail.com> написал:
Хочется сделать фон для компонента (UIComponent), а не знаю как лучше (Можно, чтобы он был просто однотонный)
 
Но почему UIComponent?!  Во флексе не юзают напрямую UIComponent. Есть целая куча контейнеров...

Не проще взять Canvas и ему сделать стили:
   background-image:         Embed("image.jpg");
или
   background-color:         " #FFFFFF";

К тому же можно и градиентом залить:

 backgroundGradientColors: #0033cc, #ffff00;

Здесь вот глянь http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html


Sveta

unread,
Apr 26, 2008, 4:00:36 PM4/26/08
to ruf...@googlegroups.com
Отличная ссылка, большое спасибо

26 апреля 2008 г. 22:50 пользователь Alexander Negoda <alexande...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages