Рассмотрим фрагмент:
<TextView
android:layout_width="wrap_content"
android:layout_width="wrap_content"
android:text="Hello!"
android:textDirection="locale"/>
Код приводит к отображению «!Hello» вместо ожидаемого «Hello!» когда язык ОС установлен на RTL. Это наблюдается только в том случае, если для textDirection установлено значение «locale», в противном случае текст отображается правильно.
Мне нужно установить TextDirection в качестве локали, чтобы текст был выровнен в текстовом представлении в соответствии с локалью ОС. Есть ли способ использовать textdirection в качестве локали, не испортив рендеринг текста или любое другое простое решение для достижения того же эффекта.
PS: я хочу применить это на глобальном уровне ко всем текстовым представлениям и, следовательно, не могу использовать textAlignment (как viewStart), так как это испортит свойство гравитации, установленное для представлений. (в частности, гравитация, установленная как центральная горизонталь, будет игнорироваться в пользу textalignment = viewStart)