сгибать границы на динамически добавляемом объекте? - PullRequest
1 голос
/ 27 марта 2012

Я добавляю видео окна в видеообъект внутри mxml файла

videoMovie = new Video(120,80);

Теперь можно ли как-то применить к этому закругленную границу размером 2 пикселя?

Я знаю, что вы можете использовать

    <s:controlBarContent>
    <s:Label text="cornerRadius:" />
    <s:HSlider id="slider"
            minimum="0"
            maximum="100"
            value="2"
            change="slider_change(event);"/>
</s:controlBarContent>

На обычных объектах, но не могу узнать, как это сделать с динамически добавленными объектами :(

1 Ответ

0 голосов
/ 30 марта 2012

Объект Video является собственным классом проигрывателя Flash, а не классом Flex.Таким образом, он не делает все то, что может сделать компонент Flex, например, иметь рамку или стиль cornerRadius.

Самое простое решение - это обернуть ваш объект Video в компонент Flex, обладающий функциональностью, которую вынеобходимость.Но вы не можете просто сделать это: flexComponent.addChild (videoObject);

Вам нужно будет сделать что-то вроде этого:

var video:Video = new Video();
var uiComponent:UIComponent = new UIComponent();
// UIComponent allows you to add non Flex children to it w/addChild()
// but you can't do this w/the Flex container classes (like Group, etc.)
uiComponent.addChild(video);

Теперь, когда ваш объект Video обернут в UIComponent,Вы можете добавить этот UIComponent к любому контейнеру Flex ...

var container:BorderContainer = new BorderContainer();
container.addElement(uiComponent);
// now set your border/corner radius styles...
container.setStyle("cornerRadius", 2);
container.setStyle("borderColor", #FF0000);

Это распространенный подход для использования не-Flex компонентов (таких как Video или Sprite) в качестве дочерних компонентов Flex.Я уверен, что вы можете найти гораздо больше об этом, выполнив такие фразы, как «добавление Sprite к компоненту Flex»

Cheers!

...