Adobe Air (wiwobooks.com Release)
ein Dock unterstützen, eine Instanz der Klasse DockIcon , in den Betriebssystemen mit System-Tray eine Instanz der Klasse SystemTrayIcon . Beide Klassen sind Unterklassen von InteractiveIcon.
Lösungsweg
Abfrage von NativeApplication.supportsDockIcon für Dock-Icons (z. B. Mac OS X)
Abfrage von NativeApplication.supportsSystemTrayIcon für Icons im System-Tray bzw. in der Info-Leiste (z. B. in Windows XP)
So geht es
Werfen Sie noch einmal einen Blick auf das Beispiel aus Abschnitt 7.3.3. Hier wird die Unterstützung der jeweiligen Icon-Methode überprüft:
Listing 8.1 Funktionalitäts-Test einer AIR-Anwendung
8.2.2 Icons innerhalb der AIR-Anwendung steuern
Neben der Möglichkeit, das Icon bereits in der Anwendungsbeschreibungsdatei anzugeben, kann das Icon auch innerhalb der Anwendung verwaltet werden. AIR stellt der NativeApplication -Instanz der Anwendung dazu eine Eigenschaft icon zur Verfügung.
Lösungsweg
Erstellen eines BitmapData -Objekts pro Icon-Größe
Zuweisen eines Arrays der BitmapData-Objekte zur Eigenschaft NativeApplication.nativeApplication.icon.bitmaps
So geht es
Erstellen Sie in der Anwendung für jede Icon-Grafik ein eigenes BitmapData -Objekt, und weisen Sie diese Objekte als Array der bitmaps -Eigenschaft des IconObjekts der Anwendung zu, wie es im folgenden Flex-Listing zu sehen ist:
creationComplete="init()" xmlns:display="flash.display.*">
import mx.core.BitmapAsset;
[Bindable]
[Embed(source="icons/AIRApp_16.png")] private var Image16x16:Class;
[Bindable]
[Embed(source="icons/AIRApp_32.png")] private var Image32x32:Class;
[Bindable]
[Embed(source="icons/AIRApp_48.png")] private var Image48x48:Class;
[Bindable]
[Embed(source="icons/AIRApp_128.png")] private var Image128x128:Class; var icon_48:BitmapData =
public function init():void {
var icon_16:BitmapData =
BitmapAsset(new Image16x16()).bitmapData; var icon_32:BitmapData =
BitmapAsset(new Image32x32()).bitmapData;
BitmapAsset(new Image48x48()).bitmapData; var icon_128:BitmapData =
BitmapAsset(new Image128x128()).bitmapData; this.nativeApplication.icon.bitmaps =
new Array(icon_16, icon_32, icon_48, icon_128); lblInfo.text = "Mein Icon ist " + this.nativeApplication. icon.width.toString() + " Pixel breit.";
}
]]>
Listing 8.2 Steuerung des Icons von der Anwendung aus
In diesem Beispiel werden die Icon-Grafiken mithilfe des Embed -Meta-Tags in Flex eingebunden. Zusätzlich wird in eine Label -Komponente die Breite des tatsächlich von der Anwendung verwendeten Icons ausgegeben. Wie das Icon unter Mac OS X, Windows XP und Ubuntu Linux aussieht (von links nach rechts) sehen Sie in Abbildung 8.4.
Abbildung 8.4 Icons für die AIR-Anwendung im Kontext des Betriebssystems
8.2.3 Besonderheiten von Dock-Icons
Dock-Icons, wie sie bei Mac OS X vorkommen, verfügen über eine Reihe von Besonderheiten. Zum einen sind diese Icons in der Regel größer als die System-TrayPendants. Im vorangegangenen Beispiel konnten Sie sehen, dass für das DockIcon unter Mac OS X die Icon-Grafik mit 128 Pixeln Seitenlänge verwendet wird (siehe Abbildung 8.4). Zum anderen können Dock-Icons sowohl als Verknüpfung für den Start einer Anwendung verwendet werden als auch als einziges sichtbares Element einer Anwendung dienen.
8.3 Anwendungs-Icon für Anwendungen ohne Fenster
Während man unter Mac OS X daran gewöhnt ist, dass ein Klick auf den Schließen-Button eines Anwendungsfensters zwar das Fenster schließt, aber nicht die Anwendung beendet, entspricht es unter Windows und Linux dem Standardverhalten, dass die Anwendung beendet wird, sobald das letzte Fenster geschlossen wird.
In AIR können Sie Ihre Anwendung so konzipieren, dass die
Weitere Kostenlose Bücher