Dopo aver visto come regolare alcuni parametri delle finestre e come aprirne di nuove, vediamo come sia possibile variare l'aspetto di una finestra usandone uno personalizzato e non quello "classico" del sistema operativo.
L'operazione è abbastanza semplice: AIR permette di non utilizzare l'aspetto di default del sistema operativo (definito SystemChrome), di conseguenza di fatto è sufficiente nasconderlo e inserire un'interfaccia personalizzata, per esempio con Flash risulta molto facile realizzare un disegno per rendere più gradevole la finestra. Prendiamo ad esempio la figura seguente:
Come fare se volessimo usare come interfaccia solo la forma arancione, con annesso l'effetto ombra? Da Flash possiamo portarci nel menu "Comandi" (Commands) e selezionare l'opzione "AIR - Application and Package Settings", quindi per l'opzione "Window Style" selezioniamo "Custom Chrome (Transparent)". Testiamo nuovamente il filmato, ed ecco il risultato:
In questo caso dovremo impostare manualmente le azioni per ridimensionamento, trascinamento, chiusura della finestra ed altro (riduzione a icona, espansione a schermo intero, etc.); queste operazioni sono piuttosto semplici grazie agli eventi e alle proprietà, ad esempio per rendere la finestra trascinabile e per rendere funzionante il pulsante di chiusura basterà usare:
clip.addEventListener(MouseEvent.MOUSE_DOWN,sposta);
chiudi.addEventListener(MouseEvent.CLICK,chiudi_finestra);
function sposta(evt:MouseEvent){
stage.window.startMove();
}
function chiudi_finestra(evt:MouseEvent){
stage.window.close();
}
Dove clip
è il nome istanza della forma utilizzata per la finestra, mentre chiudi
è il nome istanza del pulsante di chiusura.
Conclusioni
AIR offre una buona quantità di opzioni per personalizzare la finestra principale dell'applicazione e grazie alla possibilità di generare dinamicamente nuove finestre consente di realizzare applicazioni composte da più finestre e pannelli in maniera abbastanza semplice.
La possibilità di creare finestre con forma ed aspetto personalizzati e di posizionare tramite Actionscript la finestra rende particolarmente comoda la creazione di widget e screenmate; ovviamente le parti trasparenti della finestra non intercetteranno i click del mouse, per cui l'utente potrà tranquillamente usare il menu del desktop o della sua applicazione anche qualora il nostro stage originale fosse più largo della forma utilizzata per la finestra.