2009-06-12 3 views
0
<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init1()" width="100%"> 
<mx:Script> 
     <![CDATA[ 
      import mx.controls.Alert; 
      public function init1():void 
      { 
       Alert.show(this.width.toString()); 
      } 
     ]]> 
    </mx:Script> 
</mx:WindowedApplication> 

私は解像度800x600のモニターで上記のコードを実行しています。だから、私は のポップアウトアラートが800になる幅を表示することを期待します。しかし、それは幅 を500に示しています。なぜですか?フレックス:アプリケーションのサイズ

+0

おそらくあまりにも明白ですが、アプリケーションウィンドウが最大化されていることを確認してください。それは800x600の画面全体を占有していますか? – Stiggler

+0

ほとんど画面全体を占めていますが、最大化されていません。 maximizeを呼び出した後、800を返します。しかし、もし私が私の目を信じることができたならば、それは間違いなく ではなかった。 のデフォルト設定が選択され、applicationcompleteイベントまで正しく設定されていない可能性があります。 – dharm0us

答えて

0

プロパティwidth = "100%"はAIRアプリケーションであり、デフォルト状態は常に(Mac OSでは)最大化されているとは限りません。以下のスニペットは、アプリケーションを自動的に最大化し、ウィンドウを最小化、最大化、または復元するたびに、その境界と現在の状態をトレースします。

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" 
    creationComplete="maximize()" 
    displayStateChange="onDisplayStateChange(event)"> 

    <mx:Script> 
     <![CDATA[ 
      import mx.controls.Alert; 

      public function onDisplayStateChange(event:NativeWindowDisplayStateEvent):void { 
      Alert.show(event.afterDisplayState + ' ' + bounds.toString()); 
      } 
     ]]> 
    </mx:Script> 
</mx:WindowedApplication> 
0

また、画面サイズを見つけるためにCapabilities.screenResolutionXcapabilities.screenResolutionYを使用することができます。

関連する問題