Я хочу написать текст в (справа налево, например, арабском) в TextView. Но я хочу, чтобы направление написания текста было справа налево. gravity:right
выравнивает текст только справа. Я хочу оправдывать текст справа налево (чтобы слова и цифры отображались в порядке, указанном в строке). как ?Как сделать направление текста справа налево
ответ
Просто поместите это свойство в вашем TextView и все будет просто отлично тренировки он автоматически определит ваш текст и изменить соответствующим образом
android:textDirection="anyRtl"
показывает этот код – Exceptional
@ Исключительно, какая ошибка вы получаете? – RaedMarji
все в порядке ,,,, показало ошибку с ADT <20 – Exceptional
Слишком поздно, но android:gravity="right"
работал.
это испортит смешанный текст, нумерацию, брекеты и т. д. определенно использовать андроид: gravity = "right"/смотреть: http://android-developers.blogspot.co.il/2013/03/native-rtl-support-in-android-42.html –
Can скажите, почему текстовое направление не будет работать? –
Попробуйте использовать
textview.setTextDirection(View.TEXT_DIRECTION_RTL);
или
textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL);
Работает хорошо! Начиная с api 17 – Danielson
Другой умный способ, который может быть использован в более старых версиях Android и может быть использован в любом месте строки, так что удобней даже в последней версии Android, должен включать в себя знак справа налево или даже знак слева направо в строке, когда это необходимо:
left-to-right mark: ‎ or ‎ (U+200E)
right-to-left mark: ‏ or ‏ (U+200F)
Вот как это вниз:
String rtl = "Hello \u200F(سلام)";
Хорошая вещь об этом методе, что вы можете даже использовать его после пунктуации как ({[,!, которые расположены неправильно неправильно! примеры:
سلام! // wrong position
سلام! // right position by adding RLM after !
Посмотрите, как ! правильно позиционируется во второй строке, на самом деле после него есть RLM, и вы можете скопировать его, даже если он невидим.
Вторая хорошая вещь, которую вы видели, заключается в том, что вы можете использовать этот метод (эти коды символов) в любой системе, которая поддерживает RTL, например, браузеры, слово и т. Д.
Это сделало трюк. Хорошая работа. Любой побочный эффект? –
@SaeedNeamati Эти символы добавляются в UTF именно для этой цели, поэтому, если механизм рендеринга уважает их, побочного эффекта не будет, что имеет место в android. Единственное, что в некоторых шрифтах для этих кодов существует глиф, и они отображаются при использовании этих символов. вы должны удалить их глифы, используя некоторые инструменты редактора шрифтов, такие как создатель шрифтов. – Ali
блестящий спасибо bro –
попробовать это, как он работал для меня android:textDirection="rtl"
просто добавить свой собственный опыт работы с такими вопросами. в моем случае в дополнение к предложенным решениям я также должен был заменить английский "символ с RTL (в моем случае еврейски) представление такого характера"
В случае обычного текста редактирования это будет работать
android:textDirection="rtl"
Но в случае полей пароля этого не достаточно, то следить за этим,
android:textDirection="rtl"
android:gravity="right"
Для меня было важно использовать 'android: textDirection =" anyRtl "' вместо того, чтобы просто просто использовать rtl для вашего предложения. –
андроида: textDirection = «локаль»
// установить эту строку в XML для TextView.
работал для меня для арабских текстов –
и устанавливает текст как для арабского ... myTextView.settext ("\ u200F" + "text"). –
Добавьте их в свой EditText:
android:gravity="right"
android:textDirection="rtl"
PS: android:textDirection
требует уровня 17
API Используя атрибуты, как показано ниже в моем XML-коде странно я получил право на левый текст с правильной пунктуацией. Но это не является идеальным решением для мульти текста языка:
android:textDirection="ltr"
android:gravity="right"
установка LTR исправляет проблемы пунктуации, как с точки на правой стороне, а не слева.
атрибут гравитации делает поток текста справа налево.
- 1. Направление текста справа налево в cleditor
- 2. сочиняют и направление текста справа налево
- 3. Изменить направление текста клидера справа налево?
- 4. Расширение клавиатуры - Направление текста справа налево (RTL)
- 5. Flexbox колонны направление справа налево
- 6. FabricJS Право налево Направление текста
- 7. Изменить направление UITableView справа налево
- 8. Как установить направление текста в WebView в RTL (справа налево)?
- 9. Как создать направление ввода текста в jquery mobile справа налево?
- 10. Как изменить направление моего текста справа налево в Oracle?
- 11. Установить направление qTip2 справа налево (RTL)
- 12. Как изменить направление таблицы отчета справа налево
- 13. ios/xcode Сделать написание текста справа налево
- 14. Сделать ячейку прокрутки/выделения текста справа налево?
- 15. C# Rotativa ActionAsPDF изменить направление текста справа налево
- 16. Невозможно установить направление текста для языков справа налево
- 17. Элемент направление переполнения справа налево проблемы
- 18. Как сделать TableRow справа налево
- 19. Как сделать printf справа налево
- 20. PyQt Изменить направление QWidget справа налево
- 21. изменить направление действия стрелки справа налево
- 22. Направление UIScrollView RTL для языков справа налево
- 23. Прерывистая коррекция справа налево UI и текста
- 24. Как узнать направление текста?
- 25. Справа налево Электронная почта
- 26. Как изменить направление одного столбца datagridview справа налево?
- 27. Как изменить направление письма в «справа налево» в Затмении
- 28. Как изменить направление прокрутки справа налево в HorizontalScrollView
- 29. Как изменить направление потока ShowMessageAsync на «справа налево»?
- 30. справа налево поддержки сетки
Я считаю, что это ответ на ваш вопрос. Он помечен как правильный ... Я не проверял его, чтобы убедиться, что он действительно прав, но похоже, что он должен работать. http://stackoverflow.com/questions/6302221/android-setting-problem-with-textview-for-hebrew-text –
Как установить Попробуйте добавить символ RIGHT-TO-LEFT MARK (\ u200F)? такой вот >> tv.setText ("\ u200F Мой арабский текст"); – Adham
Думаю, что, как я уже сказал, я не пробовал, но это похоже на правильный подход. –