Android 4.2 ed il supporto Right-to-Left

Di - 12 March 2013 - in
Post image for Android 4.2 ed il supporto Right-to-Left

Con la versione 4.1 (JellyBean), Android ha introdotto un supporto limitato al testo bidirezionale tramite gli elementi TextView ed EditText, abilitando le applicazioni a mostrare stringhe di testo in entrambi i formati da sinistra a destra (left to right, LTR) e da destra a sinistra (right to left, RTL). Nonostante la possibilità di mostrare il testo in entrambe le direzioni, il layout dell’applicazione non poteva tuttavia essere modificato. Android 4.2 pone rimedio a questa mancanza, introducendo il supporto nativo e completo per i layout RTL – inclusa la possibilità di ribaltare completamente il layout, come allo specchio – per permettere agli sviluppatori di offrire la stessa facilità ed esperienza d’uso ai loro utenti, a prescindere dal fatto che questi ultimi usino una lingua con scrittura in stile RTL che in stile LTR.

Le applicazioni già esistenti non dovranno preoccuparsi di alcun problema di compatibilità, senza modifiche da parte dello sviluppatore il layout non subirà infatti alcun cambiamento continuando ad apparire come ha sempre fatto. Bastano però pochi accorgimenti per far si che l’applicazione inizi a sfruttare il supporto per layout RTL, adattando la propria presentazione grafica quando l’utente seleziona una lingua RTL, come mostrato nell’immagine in capo all’articolo.

Per iniziare a sfruttare quest’interessante capacità di Android sarà necessario seguire due semplici passi.

  1. prima di tutto bisogna dichiarare nel manifesto dell’applicazione che si vuole utilizzare il supporto per i layout RTL, aggiungendo la riga android:supportsRtl=”true” all’interno dell’elemento <application>;
  2. dopo aver modificato il manifesto, bisognerà procedere a modificare le proprietà del layout utilizzando le parole chiave “start” ed “end” al posto di “left” e “right” rispettivamente; se la vostra applicazione richiede almeno la versione 4.2 di Android vi basterà aggiornare tutte le proprietà affinchè utilizzino solo le nuove parole chiave (per esempio, android:paddingLeft diventerà android:paddingStart), se invece volete mantenere retro-compatibilità per versioni meno recenti dell’OS mobile (con minSdkVersion o targetSdkVersion minori di 17) sarà necessario utilizzare sia la coppia “left/right” che la coppia “start/end”, ovvero per ogni proprietà che utilizzi “left/right” dovrà essere utilizzata, in aggiunta, anche la rispettiva proprietà “start/end” (utilizzando l’esempio di prima, sarà necessario utilizzare sia android:paddingLeft che android:paddingStart).

Per un controllo più preciso dell’interfaccia grafica della vostra applicazione, Android 4.2 introduce anche 4 nuove API finalizzate a gestire entrambe le modalità LTR e RTL:

Infine, è possibile creare versioni del layout ed altre risorse apposite per la visualizzazione RTL: è sufficiente utilizzare “ldrtl” come tag per tali risorse, a significare “layout direction right-to-left”, ovvero “direzione del layout da destra a sinistra”. Il tool HierarchyViewer è stato aggiornato per permettere il debug e l’ottimizzazione di tali risorse, mostrando le proprietà start/end, direzione di layout e testo ed allineamento del testo.

Via | Android Developers Blog

Leave a Reply

Daniel Monza Articolo scritto da

Da sempre appassionato di tecnologia è passato dal mondo videoludico ad un interesse generale per l’informatica, eventualmente abbracciando Slackware, Android ed i servizi online di Google. Gli piace ascoltare musica e leggere libri e fumetti, con una predilizione per racconti dell’orrore e del mistero. Si improvvisa scrittore e disegnatore per divertimento personale.

Contatta l'autore

Previous post:

Next post: