Adobe Air (wiwobooks.com Release) by Adobe-Air
Author:Adobe-Air
Language: eng
Format: epub
9.6 Anzeigezustand von nativen Fenstern
Neben der Größe und der Position existiert als Eigenschaft eines nativen Fensters auch dessen Anzeigezustand. Die Anzeigezustände der nativen Fenster in AIR-Anwendungen orientieren sich an dem Modell von Windows und Linux, in dem eine Anwendung entweder normal, maximiert oder minimiert angezeigt werden kann.
Das Modell der Anzeigezustände in Mac OS X ist hinsichtlich des Zustandes maximiert insofern abweichend, als ein Klick auf den [+]-Button hier nicht zwingend bedeutet, dass das Fenster bildschirmfüllend dargestellt wird, sondern dass die Größe zwischen einer von der Anwendung vorgegebenen und der letzten vom Benutzer eingestellten Größe hin- und herwechselt. Mac-Benutzer sind also daran gewöhnt, das Fenster unter Umständen noch einmal anfassen zu müssen, nachdem sie das Fenster vergrößert haben, wenn sie eine Darstellung des Fensters über den ganzen Bildschirm wünschen.
AIR-Anwendungen verhalten sich jedoch auf allen Plattformen identisch: Ein Klick auf den maximieren-Button des System-Chromes (siehe Abschnitt 9.7) oder ein programmatisch eingeleiteter Wechsel zum Zustand maximiert spannt das Fenster bildschirmfüllend auf.
Die möglichen Anzeigezustände für ein natives Fenster sind als Konstanten in der Hilfsklasse NativeWindowDisplayState im Paket flash.display definiert:
NativeWindowDisplayState.MAXIMIZED für den Zustand maximiert NativeWindowDisplayState.MINIMIZED für den Zustand minimiert NativeWindowDisplayState.NORMAL für den Zustand normal
Das native Fenster selbst verfügt über eine entsprechende Eigenschaft displayState, die jedoch schreibgeschützt ist.
Lösungsweg
Die Änderung des Anzeigezustands wird mithilfe eigens dafür gedachter Methoden der Instanz der ActionScript-Klasse NativeWindow für das Fenster oder mithilfe der Implementation des Flex-Interfaces IWindow vorgenommen:
minimize()
Fenster minimieren
maximize()
Fenster maximieren
restore()
Fenster wiederherstellen (nach Minimierung/Maximierung)
Stolperfallen/Caveats
Wenn die Minimierung oder Maximierung des Fensters mithilfe minimizable oder maximizable ausgeschaltet ist, werden die entsprechenden Bedienelemente des Fensters inaktiv dargestellt.
In Betriebssystemen wie Mac OS X, in denen die Maximierung eines Fensters nicht dessen Größenänderung verhindert, muss neben der Eigenschaft maximizable auch resizable auf false gesetzt werden, damit das Maximieren eines Fensters deaktiviert ist.
So geht es
Nachfolgend ein Beispiel in Flex für das Minimieren, Maximieren und Wiederherstellen des Fensters der Anwendung infolge Benutzerinteraktion (siehe Abbildung 9.4):
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" title="Anzeigestadien nativer Fenster" layout="vertical">
<mx:Button label="minimize me" click="minimize()"/>
<mx:Button label="maximize me" click="maximize()"/>
<mx:Button label="restore me" click="restore()"/>
</mx:WindowedApplication>
Abbildung 9.4 Anzeigestadien programmatisch steuern
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Deep Learning with Python by François Chollet(11889)
Hello! Python by Anthony Briggs(9372)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(9341)
The Mikado Method by Ola Ellnestam Daniel Brolund(9307)
Dependency Injection in .NET by Mark Seemann(8859)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(7851)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(7322)
Grails in Action by Glen Smith Peter Ledbrook(7295)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7115)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(5957)
Kotlin in Action by Dmitry Jemerov(4637)
Practical Vim (for Kathryn Amaral) by Drew Neil(3727)
Cracking the GRE Premium Edition with 6 Practice Tests, 2015 (Graduate School Test Preparation) by Princeton Review(3596)
Linux Device Driver Development Cookbook by Rodolfo Giometti(3413)
Learn Windows PowerShell in a Month of Lunches by Don Jones(3240)
Learning Java by Patrick Niemeyer & Daniel Leuck(2871)
Learning React: Functional Web Development with React and Redux by Banks Alex & Porcello Eve(2835)
Becoming a Dynamics 365 Finance and Supply Chain Solution Architect by Brent Dawson(2662)
Mastering Java 9 by Dr. Edward Lavieri(2572)