Android: перевернуть макет, не переворачивая содержимое внутри него - PullRequest
0 голосов
/ 03 сентября 2018

Я делаю приложение для Android, которое поддерживает два языка (арабский и английский)
и, как вы уже знаете, английский алфавит читает слева направо, а арабский - справа налево. Это требует от меня, если я изменю язык, перевернуть макет, не переворачивая компонент, чтобы он оставался видимым и читаемым, как прежде, как изображения и тексты.

Спасибо

Ответы [ 4 ]

0 голосов
/ 03 сентября 2018

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

Проверьте эти ссылки для лучшего понимания:

  1. https://developer.android.com/training/basics/supporting-devices/languages
  2. https://medium.com/@zhangqichuan/rtl-support-in-android-898e11f31561
0 голосов
/ 03 сентября 2018

У меня линейная компоновка, ориентированная горизонтально, как показано на рисунке ниже.
и изменение только гравитации не решает проблему, я думаю.
Образец изображения

0 голосов
/ 03 сентября 2018

У меня уже есть идея о том, как это исправить, и это сложный процесс.
Дело в том, чтобы изменить атрибут
андроид: Scalex = "- 1f"
и внесите это изменение в ViewGroup и каждый отдельный View внутри нее.

0 голосов
/ 03 сентября 2018

Если я не понял неправильно, вам следует изменить серьезность textView в вашем методе смены языка. Для примера

TextView textView = (TextView) findViewById(R.id.textView); textView.setGravity(Gravity.RIGHT | Gravity.CENTER);
...