На скриншоте ниже показана моя проблема.
Первый EditText
показывает подсказку на арабском языке, которая смещена вверх, теперь вторая EditText
просто для справки, которая показывает английскую версию полностью нормально.То же самое относится и к Button
.
. Я объявил строку в strings.xml
следующим образом:
<string name="ar_login">دخول</string>
![screenshot of the problem](https://i.stack.imgur.com/uKIQd.png)
Вот так я устанавливаюПодсказка 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: Первоначально арабские тексты разделены;означает, что они показаны буква за буквой.Чтобы присоединиться к ним, я использовал этот Arabic Reshaper .Чтобы скачать код, проверьте эту ссылку
Теперь, когда я изменяю арабский текст, а затем устанавливаю TextView
или EditText's
Подсказка, он получил сдвинутые вверх слова, но без изменения формы это нормально,
Так что я думаю, должен ли я изменить класс изменения формы ИЛИ сделать текстовое представление, чтобы не разбить слово.Но не знаете, куда идти?