Изменить размер ширины в процентах
У меня есть два контейнера внутри одного основного контейнера.
Один контейнер имеет ширину 20%, а другой - 80%.
Теперь я хочу скрыть 20% контейнер при нажатии кнопки, поэтому я использую.
<s:Resize id="resizeHide" widthTo="0" target="{fstContainer}"/>
Теперь, при нажатии той же кнопки, я хочу изменить размер этого контейнера на 20%, что будет решением.
Я пытался следовать, но у меня не получилось.
<s:Resize id="resizeShow" widthTo="20" target="{fstContainer}"/>
Я не могу установить фиксированную ширину. И эффект изменения размера займет только ширину в пикселях.
1 ответ
Чтобы изменить размер контейнера до 20% от ширины сцены, вы можете просто сделать так:
Ваш Resize
эффект:
<s:Resize id="resizeShow" target="{fstContainer}"/>
И тогда для вашей кнопки:
<s:Button id="btn_resize" label="Resize" click="resizeShow.widthTo = stage.stageWidth / 5; resizeShow.play();"/>
РЕДАКТИРОВАТЬ:
Вторым способом является использование привязки данных, например:
<s:Resize id="resizeShow" widthTo="{_20_percent}" target="{fstContainer}"/>
Объявите привязываемую переменную:
[Bindable] protected var _20_percent:Number;
И затем, вы можете установить его значение, когда создание вашего приложения будет завершено или когда оно будет добавлено на сцену, ...:
protected function on_addedToStage(event:Event):void
{
_20_percent = stage.stageWidth / 5;
}
protected function on_creationComplete(event:FlexEvent):void
{
// here of course, as you know, the stage is not yet accessible
_20_percent = FlexGlobals.topLevelApplication.width / 5;
}
И, конечно, здесь вам нужно использовать только один обработчик событий для установки значения.
Третий способ - создать свой Resize
динамический эффект, когда пользователь нажимает кнопку изменения размера:
protected function btn_resize_onClick(event:MouseEvent):void
{
var resizeShow1:Resize = new Resize();
resizeShow1.target = fstContainer;
resizeShow1.widthTo = stage.stageWidth / 5;
resizeShow1.play();
}
И вам решать, какой способ вы предпочитаете;)
Надеюсь, что это может помочь.