Adobe AIR Native WindowDer vierte Teil meiner Reihe zum Release von Adobe AIR 1.0 gibt Auskunft, wie das Fenster einer AIR-Anwendung geändert wird.

Um auf das Fenster der Anwendung zuzugreifen, muss man dieses zuerst einem NativeWindow-Objekt zuweisen. Dies geschieht mit dem Befehl this.stage.nativeWindow.

Nun kann man über stage.stageWidth bzw. stage.stageHeight die Größe des Inhaltsbereichs eines Fensters verändern. Das Fenster skaliert sich automatisch mit der Bühnefläche mit.

Wichtig zu wissen ist außerdem, dass bei einer Größenänderungen des NativeWindow-Objekt sich wiederum die Bühnengröße automatisch ändert. Einziger Unterschied: Die Höhe der Fensterleiste (das Chrome) wird in diesem Fall mitgerechnet. Im Beispiel wird dies deutlich, wenn man auf den 640x80-Button klickt: Der Inhalt ist ein wenig zu kurz.

Mit NativeWindow.title kann man übrigens festlegen, was oben in der Fensterleiste als Titel steht.

Des Weiteren zeigt das Beispiel, wie die minimale und maximale Größe des Fenster definiert wird. Die beiden Eigenschaften heißen window.maxSize und window.minSize

Die Anfangsgröße beim Start der Anwendung legt man über die Größenangaben der Bühne in der .fla fest.

Der Code der Applikation lautet:

Actionscript:
  1. import flash.display.NativeWindow;
  2.  
  3. // neues NativeWindow Objekt
  4. var window:NativeWindow = this.stage.nativeWindow;
  5.  
  6. function initWindow():void {
  7.  
  8.     // Verhalten der Bühne (stage):    keine Skalierung
  9.     stage.scaleMode = StageScaleMode.NO_SCALE;
  10.  
  11.     // Verhalten der Bühne (stage): Ausrichtung oben links (top left)
  12.     stage.align = "tl";
  13.  
  14.     // den Titel des AIR-Fensters festlegen
  15.     window.title = "NativeWindow Demo-Anwendung";
  16.  
  17.     // maximale Größe des AIR Fensters festlegen
  18.     window.maxSize = new Point (800, 600);
  19.  
  20.     // minimale Größe des AIR Fensters festlegen
  21.     window.minSize = new Point (320, 100);
  22.    
  23. }
  24.  
  25. initWindow();
  26.  
  27.  
  28.  
  29.  
  30. // event listener
  31. resizeButton320.addEventListener(MouseEvent.CLICK, resizeButton320_CLICK);
  32. resizeButton640.addEventListener(MouseEvent.CLICK, resizeButton640_CLICK);
  33.  
  34. function resizeButton320_CLICK(e:MouseEvent):void {
  35.    
  36.     // Größe der Stage ändern
  37.     stage.stageWidth = 320;
  38.     stage.stageHeight = 240;
  39. }
  40.  
  41.  
  42. function resizeButton640_CLICK(e:MouseEvent):void {
  43.    
  44.     // Größe des AIR Fensters (inklusive Chrome) ändern
  45.     window.width = 640;
  46.     window.height = 480;
  47.  
  48. }

Download: Quelldatei (.fla)