![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Всем привет!
Совершенно, на мой взгляд, элементарная задача. Во время работы приложения динамически добавить новый спрайт в Scroller. При этом полосы прокрутки должны автоматически появляться. <fx:Script> <![CDATA[ import mx.events.FlexEvent; protected function creationCompleteHandler(event:FlexEvent):void { var child:Sprite = new Sprite(); child.graphics.beginFill(0x000000); child.graphics.drawRect(0, 0, 100, 100); child.graphics.endFill(); child.x = 1000; sprite.addChild(child); } ]]> </fx:Script> <s:Scroller width="900" height="100%" > <s:Group> <s:SpriteVisualElement id="sprite" /> </s:Group> </s:Scroller> Как правильно решить эту проблему? p.s. После добавления child в sprite ширина sprite равна 0. |
|
|||||
|
Квадрат вы не видите, потому что он находится за видимой областью. Полосы прокрутки не появляются потому, что Group понятия не имеет, что у SpriteVisualElement изменились размеры. Более того, сам SpriteVisualElement не знает, что у него изменились размеры (в рамках флекс фреймворка они могут не совпадать с видимыми размерами). Установите размеры явно и полосы прокрутки появятся.
SpriteVisualElement предназначен для отображения статичной (с неизменным или изменяемым вручную размером) графики и не является полноценным flex контейнером.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Да, вы правы. Все проблема в том, что SpriteVisualElement не изменят свои размеры при добавлении дочернего спрайта. Спасибо, за ответ.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|