【问题标题】:Maximizing AIR WindowedApplication and resizing containg component最大化 AIR WindowedApplication 并调整包含组件的大小
【发布时间】:2011-09-03 18:58:28
【问题描述】:

我正在尝试创建一个您可以最大化的 AIR 应用程序,当您最大化时,windowedApplication 中包含的所有组件都将使用包含的windowedApplication 进行缩放。

在您最大化窗口的那一刻,所有组件都保持相同的大小。这甚至可能吗?

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:ATE="http://ns.adobe.com/ate/2009"
                       xmlns:ai="http://ns.adobe.com/ai/2009"
                       xmlns:fc="http://ns.adobe.com/flashcatalyst/2009"
                       xmlns:d="http://ns.adobe.com/fxg/2008/dt"
                       xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:lib="assets.graphics.UI.*"
                       xmlns:flm="http://ns.adobe.com/flame/2008"
                       xmlns:lib2="assets.graphics.*"
                       xmlns:components="components.*"
                       xmlns:lib3="assets.graphics.logout.*"
                       xmlns:lib4="assets.graphics.logo.*"
                       xmlns:sparkTree="com.sparkTree.*"
                       xmlns:testsubmitassessmentscore2="services.testsubmitassessmentscore2.*"
                       minWidth="800" minHeight="600" backgroundColor="#FFFFFF"
                       creationComplete="creationCompleteHandler()" showStatusBar="false"
                       currentState="{model.whichViewState}" currentStateChange="onStateChange()"
                       preloaderChromeColor="#FFFFFF" title="MyApplication">
    <!--<fx:Style source="Main.css">-->
    <!--minWidth="800" minHeight="600"-->
    <fx:Style>

【问题讨论】:

  • 应该足够简单。但是给我们一些代码,看看你做错了什么。
  • 这里是windowedapplication的定义
  • 您的复制粘贴失败。另外,如果你希望你的组件调整大小,你需要使用百分比来表示宽度/高度。

标签: apache-flex air flex-spark


【解决方案1】:

你可以监听任何 UIComponent 派发的 resize 事件:

<?xml version="1.0" encoding="utf-8"?>
<s:Group
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    width="100%" height="100%"
    resize="onResize(event)"
    >
    <fx:Script>
        <![CDATA[
        import mx.events.ResizeEvent;

        private function onResize(event:ResizeEvent):void
        {
            // code goes here : resize your components and stuff...
        }
        ]]>
    </fx:Script>
</s:Group>

但要小心,因为这种技巧可能会导致无限循环:您侦听一个 resize 事件,然后调整一个组件的大小,这会导致另一个 resizeevent 被调度,然后循环从头开始......

【讨论】:

    猜你喜欢
    • 2011-08-25
    • 1970-01-01
    • 2018-04-15
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多