2011-11-03 11 views
7

Sto lavorando a un'app Android relativamente semplice. Voglio che abbia una versione inglese e una versione ebraica.Sviluppo di un'applicazione Android da destra a sinistra

Ho un'attività tutta esposta in inglese e voglio creare le risorse ebraiche. Non ho trovato nessun modo semplice per farlo. L'unico modo che ho trovato è stato prendere il mio file layout/activity.xml, metterlo in layout-iw/activity.xml e cambiare manualmente tutto in modo che appaia da destra a sinistra.

Ho bisogno di invertire l'ordine di tutti gli elementi in qualsiasi contenitore orientato orizzontalmente (tutte le colonne in <TableRow> s, tutti gli elementi in orizzontale <LinearLayout> s, ecc ...). Devo cambiare tutti i layout_marginLefts con layout_marginRights e, naturalmente, rendere tutti i controlli allineati a sinistra allineati a destra.

Questo è noioso, soprattutto se penso di modificare l'attività a un certo punto - Avrò bisogno di modificare le risorse due volte, e questo da solo mi dà il mal di testa.

ha per essere un modo più semplice.

+0

Se tutto il resto fallisce, la mia prossima domanda riguarderebbe il punto appropriato per agganciare un meccanismo che lo farà automaticamente. Immagino che lo chiamerò RtlAwareActivity o qualcosa del genere. Io * davvero * non voglio scrivere questo. – zmbq

+0

Non sospetto che ci sarà una soluzione pacchettizzata per questo, poiché probabilmente ci saranno molti problemi di layout derivanti da questo cambiamento, in generale lo è. Quindi non sarebbe davvero sicuro fare una soluzione tutto in uno a questo. Credo che TextView sarà automaticamente visualizzato da destra a sinistra, ma questo è tutto. FWIW, penso che potrebbe essere meglio per te generare semplicemente gli xml di layout con un hook di precompilazione piuttosto che scrivere un'attività per farlo al volo. In questo modo non c'è sovraccarico di runtime. –

+0

Sono pro Microsoft ma in ogni modo hanno fatto un ottimo lavoro su WPF !!!. – IamStalker

risposta

2

Sfortunatamente sei corretto questo è esattamente quello che dovrai fare. Suggerirei di utilizzare styles per formattare tutti gli elementi in cui il padding oi margini devono essere cambiati in un passaggio da sinistra a destra. Se costruisci i tuoi stili correttamente, dovrebbe limitare la quantità di modifiche linea per linea necessarie nei singoli file di layout. Tuttavia, mi rendo conto che questo è un caso in cui il sito hind è 20/20.

Problemi correlati