Снимок экрана ниже показывает мою проблему.
Первый EditText показывает подсказку на арабском языке, которая сдвинута вверх, теперь вторая EditText предназначена только для справки, которая полностью отображает английскую версию. То же самое касается Button.
Я объявил строку в strings.xml следующим образом:
<string name="ar_login">دخول</string>

Вот как я устанавливаю подсказку EditText:
UserName.setTypeface(ArabicFont);
String hint = getString(R.string.ar_HintUserName);
....
UserName.setHint(hint);
UPDATE: Я использовал это, но бесполезно:
UserName.setGravity(Gravity.CENTER_VERTICAL);
Но с этим текст немного пошевелился; но я думаю, что он не является общим:
UserName.setPadding(0,15,0,0);
С Padding, English слова перемещаются вниз.
ОБНОВЛЕНИЕ 2: Первоначально арабские тексты разделены; означает, что они показаны буквами по буквам. Поэтому, чтобы присоединиться к ним, я использовал этот Arabic Reshaper. Чтобы загрузить код, проверьте ссылку
Теперь, когда я изменяю арабский текст, а затем устанавливаю на TextView или как EditText's Hint, он переводится вверх, но без изменения.
Итак, я думаю, должен ли я изменить класс reshape или сделать мой текст не разбитым на слово. Но не знаете, куда идти?