Sviluppare con Android by Marko Gargenta

Sviluppare con Android by Marko Gargenta

autore:Marko Gargenta
La lingua: ita
Format: azw3
editore: Hoepli
pubblicato: 0101-01-01T00:00:00+00:00


Figura 7.19 – StatusActivity con il contatore per il testo.

Risorse alternative

Android supporta diversi set di risorse in competizione tra loro. Per esempio, potete avere diverse versioni di un file strings.xml, di un layout activity_status.xml o altre risorse. Il motivo di questa caratteristica è dovuto al fatto che la versione migliore della medesima risorsa può essere usata in diverse circostanze. Abbiamo affrontato questo argomento nel Capitolo 4.

Immaginate che la vostra applicazione venga usata in un altro paese, con una lingua diversa. In questo caso, potete fornire una versione di strings.xml specifica per quella lingua. Oppure, immaginate che un utente usi la vostra applicazione su un dispositivo diverso, con uno schermo dotato di un numero superiore di pixel. In questo caso, avrete bisogno diverse versioni delle vostre immagini, che si adattino alla diversa risoluzione dello schermo. Allo stesso modo, gli utenti potrebbero semplicemente ruotare il dispositivo da verticale a orizzontale. La nostra applicazione verrà ridisegnata in modo corretto, ma esistono ulteriori migliorie che possono essere adottate per il layout della UI, in base all’orientamento dello schermo.

Per tutti questi casi, Android offre delle soluzioni eleganti. In pratica, dovete semplicemente creare delle cartelle alternative in base a vincoli specifici. Per esempio, i nostri file standard per il layout vanno nella cartella /res/layout, ma se volessimo fornire un layout alternativo specifico per la modalità orizzontale, dovremmo semplicemente creare un nuovo file chiamato /res/layout-land/activity_status.xml. E se volessimo predisporre una versione tradotta del nostro file strings.xml per gli utenti che vivono nella parte francofona del Canada, dovremmo inserirlo nel file chiamato res/values-fr-rCA/ strings.xml.

Come potete vedere da questi esempi, le risorse alternative funzionano specificando degli elementi qualificatori nei nomi delle rispettive cartelle di risorse. Nel caso delle stringhe in francese canadese, Android sa che il primo qualificatore -fr fa riferimento alla lingua, mentre il secondo, -rCA, specifica che la regione è il Canada. In entrambi i casi, usiamo i codici ISO a due lettere per specificare il Paese. Quindi, in questo caso, se l’utente proviene dal Quebec e il suo dispositivo è configurato per usare la lingua francese, Android cercherà le risorse stringa nel file /res/values-fr-rCA/strings.xml. Se non dovesse trovare una risorsa specifica, tornerebbe al file /res/values/strings.xml di default. Inoltre, se l’utente fosse in Francia, Android userebbe comunque le risorse di default, perché il nostro qualificatore per il francese canadese non corrisponde al francese della Francia. Usando i qualificatori potete creare delle risorse alternative per lingue e Paesi, dimensioni dello schermo e orientamenti, modalità di input dei dispositivi (touch screen, stilo), presenza o meno della tastiera e così via. Ma come potete scoprire queste convenzioni dei nomi per le cartelle delle risorse?

Procediamo a creare una risorsa alternativa per la vista orizzontale sul nostro schermo. La soluzione più semplice consiste nell’usare la finestra di dialogo New Android XML File di Eclipse (vedere la Figura 7.20). Per aprire la finestra New Android XML File, scegliete File → New → Android XML File dal menu di Eclipse. Scegliete Layout come tipo di risorsa e attribuitegli lo stesso nome del nostro layout, per esempio activity_status.



scaricare



Disconoscimento:
Questo sito non memorizza alcun file sul suo server. Abbiamo solo indice e link                                                  contenuto fornito da altri siti. Contatta i fornitori di contenuti per rimuovere eventuali contenuti di copyright e inviaci un'email. Cancelleremo immediatamente i collegamenti o il contenuto pertinenti.