Flex3:强制调整 TitleWindow 组件的大小

发布于 2024-10-31 18:57:18 字数 587 浏览 1 评论 0原文

我需要一些帮助来强制 Flex3 在事件发生后调整我的 TitleWindow 组件的大小。

我的调整大小 MXML 如下所示:

<mx:Resize  id="rs1" duration="1000" 
            heightTo="{radioVBox.y + radioVBox.height + 110}"  />

How do I Force it to resize after a event?我想在 myFunc1 中的事件结束后强制更改 TitleWindow 的高度。

private function myFunc1():void {
 //blah blah...
 fe.addEventListener(FLASHEFFEvents.TRANSITION_END, myFunc2);
}

private function myFunc2():void {
 //force the titleWindow's height to be resized-- call rs1
}

有什么建议吗?

谢谢。

-拉克斯米迪

I need some help forcing Flex3 to resize my TitleWindow component after an event.

My resize MXML looks like this:

<mx:Resize  id="rs1" duration="1000" 
            heightTo="{radioVBox.y + radioVBox.height + 110}"  />

How do I force it to resize after an event? I want to force the TitleWindow's height to change after the event in myFunc1 ends.

private function myFunc1():void {
 //blah blah...
 fe.addEventListener(FLASHEFFEvents.TRANSITION_END, myFunc2);
}

private function myFunc2():void {
 //force the titleWindow's height to be resized-- call rs1
}

Any suggestions?

Thank you.

-Laxmidi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲影 2024-11-07 18:57:18

我觉得还是比较简单的。例如,我们有一个自定义窗口,希望它在单击按钮时调整大小:

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow height="300" layout="absolute" width="400" xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
        import mx.events.EffectEvent;

        protected function clickHandler():void
        {
            windowResize.play();
        }

        protected function windowResize_effectEndHandler(event:EffectEvent):void
        {
            trace("Effect ended");
        }
    ]]>
    </mx:Script>

    <mx:Resize duration="1000" effectEnd="windowResize_effectEndHandler(event)" heightTo="200" id="windowResize"
        target="{this}" />

    <mx:Button click="clickHandler()" horizontalCenter="0" label="Resize" verticalCenter="0" />
</mx:TitleWindow>

I think it rather simple. For example we have a custom window and want it resizes on button click:

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow height="300" layout="absolute" width="400" xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
        import mx.events.EffectEvent;

        protected function clickHandler():void
        {
            windowResize.play();
        }

        protected function windowResize_effectEndHandler(event:EffectEvent):void
        {
            trace("Effect ended");
        }
    ]]>
    </mx:Script>

    <mx:Resize duration="1000" effectEnd="windowResize_effectEndHandler(event)" heightTo="200" id="windowResize"
        target="{this}" />

    <mx:Button click="clickHandler()" horizontalCenter="0" label="Resize" verticalCenter="0" />
</mx:TitleWindow>
梦幻之岛 2024-11-07 18:57:18

您需要在 Resize 标记中指定一个目标才能使其正常工作,或者在调用调整大小时指定目标。

<mx:Resize  id="rs1" duration="1000" target="{yourTitleWindow}" heightTo="{radioVBox.y + radioVBox.height + 110}"  />

rs1.play()

就我个人而言,我不喜欢 Flex 效果标签,因此我使用 TweenMax 代替。在这种情况下,你只需要这样做:

private function myFunc2():void 
{
   TweenMax.to(yourTitleWindow, 1, {height:radioVBox.y + radioVBox.height + 110});
}

You need to specify a target in your Resize tag for it to work, or specify the target when you call the resize.

<mx:Resize  id="rs1" duration="1000" target="{yourTitleWindow}" heightTo="{radioVBox.y + radioVBox.height + 110}"  />

rs1.play()

Personally, I don't like the Flex effect tags so I use TweenMax instead. In that case you'd just need to do this:

private function myFunc2():void 
{
   TweenMax.to(yourTitleWindow, 1, {height:radioVBox.y + radioVBox.height + 110});
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文