Intereting Posts
Как заблокировать ориентацию экрана для телефона, но не для планшета? (Android) LibVlc android cant load libs Цикл через множество переменных Фрагмент прозрачен и показывает активность ниже Удаление действий вручную из стека приложений Android Как открыть сайт при нажатии кнопки в приложении Android? Как скрыть панель действий (Theme.Holo), если версия для Android ниже 3.0 Как выбрать контакты только из контактов google (а не facebook и т. Д.) С номерами телефонов? Как загрузить несколько файлов одновременно с помощью intenservice в Android? Настройте размер значка кнопки плавающего действия (fab) Отменить регистрацию андроид-клиента от унифицированного push-сервера от Aerogear Можно ли использовать переднюю и заднюю камеры одновременно в Android Принудительное обновление приложения для Android, когда доступна новая версия Отслеживание использования нескольких виджетов приложений отдельно Как я могу использовать один и тот же набор экранов предпочтений для всех версий Android от 2.X до 4.X?

Ошибка выравнивания текста при использовании арабского шрифта

Снимок экрана ниже показывает мою проблему.

Первый EditText показывает намек на арабском языке, который сдвинут вверх, теперь второй EditText предназначен только для справки, который показывает английскую версию полностью точно. То же самое касается Button .

Я объявил строку в strings.xml следующим образом:

 <string name="ar_login">دخول</string> 

Скриншот проблемы

Вот как я установил подсказку EditText:

 UserName.setTypeface(ArabicFont); String hint = getString(R.string.ar_HintUserName); .... UserName.setHint(hint); 

ОБНОВЛЕНИЕ: Я использовал это, но бесполезно:

 UserName.setGravity(Gravity.CENTER_VERTICAL); 

Но с этим текст немного пошевелился; Но я думаю, что он не является общим:

 UserName.setPadding(0,15,0,0); 

С помощью Padding English слова перемещаются вниз.

ОБНОВЛЕНИЕ 2: Первоначально арабские тексты разделены; Означает, что они отображаются буквами по буквам. Поэтому, чтобы присоединиться к ним, я использовал этот арабский Reshaper . Чтобы скачать код, проверьте эту ссылку

Теперь, когда я изменяю арабский текст, а затем устанавливаю TextView или как подсказку EditText's , он сдвигается вверх, но без перестройки это прекрасно.

Поэтому я предполагаю, должен ли я изменить класс reshape или сделать свое текстовое изображение не разбитым словом. Но не знаете, куда идти?

Solutions Collecting From Web of "Ошибка выравнивания текста при использовании арабского шрифта"

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

В функции reshape это было ошибочно добавление \n в конце, просто удаление его решает проблему.

Я уверен, что проблема с файлом шрифта, который вы используете.!

[Извините, мне не разрешено загружать снимок экрана, так как моя репутация ниже :(]

Для макета я устанавливал текст в xml и шрифт в коде. И я не устанавливаю никаких атрибутов, например padding / gravity. Но он отлично работал для меня.

Поэтому я могу заверить вас, что использование файла шрифта, стиль которого соответствует вашему требованию, решит вашу проблему.

Просто, чтобы помочь вам, но я не уверен, что получил файл шрифта от DroidSansFallback.ttf

Просто догадка 🙂 …,

  1. Что, если размер арабского шрифта ниже? [Если это так, то Gravity.CENTER_VERTICAL должен был сработать для вас :(]

  2. Может быть, это стиль этого файла шрифта. Как пробовать другой файл шрифта для арабского текста?