我對Flex有很多經驗,我剛開始編寫我的第一個AIR應用程序,並希望儘可能多地使用Spark。s:WindowedApplication爲空,並且不初始化/顯示子組件
於是我開始枝條一個簡單的Hello World應用程序:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="red"
initialize="initializeHandler(event)">
<s:Label text="Hello World"/>
<s:Button label="Test" initialize="onButtonInitialize()"/>
<fx:Script><![CDATA[
import mx.events.FlexEvent;
private function onButtonInitialize():void
{
trace("Button");
}
private function initializeHandler(event:FlexEvent):void
{
trace("Application");
}
]]></fx:Script>
</s:WindowedApplication>
不幸的是這個簡單的例子說明無子組件,甚至沒有初始化處理程序被觸發。但是,只要將根標記更改爲mx:WindowedApplication,所有行爲都將按預期行事:顯示標籤和按鈕,控制檯顯示兩條跟蹤語句的輸出。
我缺少什麼?
我使用Flex 4.5.0並使用flex-mojos進行構建。
您確定編譯正確嗎?你如何設置你的項目?你的app.xml如何?您選擇哪種版本的Air,是因爲對底層應用配置xml進行了一些更改。 –
我的目標是AIR 2.6。它編譯和兩種情況下,我可以看到紅色的背景。到目前爲止,我的自定義app.xml沒有涉及,但是一旦我打包一個AIR應用程序,這可能是一個問題。然而目前我所做的只是讓我的IDE,IntelliJ IDEA運行WindowedApplication類。 – Yaba
不熟悉Flex/AIR開發的IntelliJ IDEA(我使用FlashBuilder),但是您構建的是調試版本嗎?如果不調試,我認爲trace()不起作用。順便說一句,我在FlashBuilder中試過你的代碼,它運行良好,所以這很可能是Flex-mojos配置的一個問題。 –