2011-11-03 8 views
7

Estoy trabajando en una aplicación de Android relativamente simple. Quiero que tenga una versión en inglés, así como una versión en hebreo.Desarrollar una aplicación de Android de derecha a izquierda

Tengo una actividad diseñada en inglés, y quiero crear los recursos en hebreo. No pude encontrar ninguna manera fácil de hacerlo. La única forma que encontré fue tomar mi archivo layout/activity.xml, ponerlo en layout-iw/activity.xml y cambiarlo manualmente para que aparezca de derecha a izquierda.

Necesito invertir el orden de todos los elementos en cualquier contenedor orientado horizontalmente (todas las columnas en <TableRow> s, todos los elementos en horizontal <LinearLayout> s, etc ...). Necesito cambiar todo layout_marginLefts con layout_marginRights, y por supuesto - hacer todos los controles alineados a la izquierda alineados a la derecha.

Esto es tedioso, especialmente si pienso modificar la actividad en algún momento. Tendré que modificar los recursos dos veces, y eso solo me da dolor de cabeza.

Hay tiene para ser una manera más fácil.

+0

Si todo lo demás falla, mi siguiente pregunta sería sobre el lugar apropiado para enganchar un mecanismo que hará esto automáticamente. Creo que lo llamaré RtlAwareActivity o algo así. Yo * realmente * no quiero escribir esto. – zmbq

+0

No sospecho que va a haber una solución empaquetada para esto, ya que probablemente haya muchos problemas de diseño que surjan de este cambio, en general. Por lo tanto, no sería seguro hacer una solución integral a esto. Creo que TextViews se mostrará automáticamente de derecha a izquierda, pero eso es todo. FWIW, creo que sería mejor para ti generar el diseño xmls con un gancho de precompilación en lugar de escribir una actividad para hacerlo sobre la marcha. De esa manera no hay sobrecarga de tiempo de ejecución. –

+0

¡Soy pro Microsoft, pero de todos modos hicieron un muy buen trabajo en WPF! – IamStalker

Respuesta

2

Lamentablemente tiene razón, esto es exactamente lo que tendrá que hacer. Sugiero usar styles para formatear cualquier elemento donde el relleno o los márgenes necesiten cambiar a un cambio de texto de izquierda a derecha. Si construye sus estilos correctamente, debería limitar la cantidad de cambios de línea por línea necesarios en los archivos de diseño individuales. Sin embargo, me doy cuenta de que este es un caso donde hind-site es 20/20.

Cuestiones relacionadas