2017-01-07 11 views
1

При переходе с английского на арабский язык макет меняется слева направо. Как изменить textView слева направо. Пример (английский) Рамеш вождения со скоростью 34 км/ч. (арабский) hpmk43 fo deeps a htiw gnivird hsemaRКак переключить язык с английского на арабский, чтобы его можно было читать справа налево?

Редактировать 1: Пожалуйста, найдите нижеследующее изображение, это правильно?

Arabic version English Version

+3

Это не так, как работают языки RTL. Английские слова все еще читаются слева направо. – ianhanniballake

+0

Вы хотите изменить порядок показанной строки. Ваш пример не арабский, вам нужно дать немного больше подробностей о том, что вы пытаетесь сделать. – Sufian

ответ

0

Изменить все left/right свойства макета вашего приложения к новым start/end эквивалентов.

Просто пример, используйте в android:gravity.

Не забудьте объявить в своем приложении Manifest, что ваше приложение поддерживает зеркалирование RTL: добавьте android:supportsRtl="true" к элементу вашего Manifest файла.

1

setLocale("en"); // устанавливаем английский язык

setLocale("ar"); // установить арабский

public void setLocale(String lang) { 
     Locale locale = new Locale(lang); 
     Locale.setDefault(locale); 
     Configuration config = new Configuration(); 
     config.locale = locale; 
     getBaseContext().getResources().updateConfiguration(config, 
       getBaseContext().getResources().getDisplayMetrics()); 
    } 

будет автоматический РТЛ после настройки локали, как английский и LTR установить локаль как арабский. // Не забудьте перезапустить приложение. после того, как не установлена ​​локаль

Нет необходимости изменять тяжести

+0

отлично, хорошо :) –

1

Чтобы сделать вашу работу TextView для RTL, вы должны добавить свойства макетов RTL.

Использование android:layout_marginStart вместо android:layout_marginLeft и android:layout_marginEnd вместо android:layout_marginRight

Для left-to-right потока, start=left, end=right.

right-to-left поток, start=right, end=left.

Эта поддержка RTL была добавлена ​​в API Level 17, как часть поддержки Android 4.2 для макетов RTL. Это поможет вам https://developer.android.com/about/versions/android-4.2.html#RTL

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

  • Нет связанных вопросов^_^