2016-02-28 2 views
2

Я использую шрифт для некоторых из моих кнопок. Одна из них - кнопка «назад». На языках LTR я хочу, чтобы кнопка была стрелкой, указывающей налево, а на RTL - стрелкой, указывающей вправо.Адаптация текста в соответствии с направлением устройства (LTR, RTL) на Android

Прямо сейчас, что я делаю это: Я держу две строки в моей папке «значения»

<string name="icon_back_ltr">&#xf060;</string> 
<string name="icon_back_rtl">&#xf061;</string> 
<color name="icon_back_color">#FFFFFF</color> 

Затем я проверяю, если программно язык устройства является язык RTL. Если это так, я соответствующим образом изменяю текст на кнопке.

Мой вопрос: есть ли лучший способ сделать это? Тот, который не требует программной ориентации для направления макета? Например, я знаю, что могу определить слово «Hello» на английском языке (используя «значения»), а затем быть другим на иврите (используя «values-iw»). Вопрос в том, могу ли я определить определенную строку для быть текст а на всех LTR языки, а затем на текст в в всех RTL языков?

ответ

4

Определить два reource driectories values-ldrtl (средства «компоновка в направлении направо-налево») и values-ldltr (означает «layout-direction-left-right-right») Заявите в своем приложении, что ваше приложение поддерживает зеркалирование RTL. В частности, добавьте android:supportsRtl="true" в <application> в вашем файле манифеста и установите targetSdkVersion до 17 или выше.

+1

Работы! Благодаря!! :) – Cookienator

Смежные вопросы