#android
Никак не могу решить проблему с "писать текст справа налево". Такая штука мне нужна для бинарного калькулятора, который нужен на одном из экранов) Видел такой тэг rtl - но он не работает. На английской части стека все говорят про gravity="right", но и это не помогло. Я в шаге от частного самодельного решения этой проблемы) Подскажите, как писать текст в TextEdit справа налево!? P/S/ EditText обернут в Constarint Layout если это имеет значение.
Ответы
Ответ 1
Используйте следующее решение: xml: android:textDirection="rtl" android:gravity="right" Программно: textview.setTextDirection(View.TEXT_DIRECTION_RTL); или textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL); начина с API 17+ Добавлять текст в начало textView: textview.setText(number + textView.getText());Ответ 2
Решил добавить свой итогвый вариант на Kotlin. Этот код позволяет писать текст справа на лево, что каждый следующий символ появляется слева от курсора. Обычный вариант с textdirection не дает эффекта "арабского письма" editText.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable) { } override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { } override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { // set cursor editText.setSelection(start) } })
Комментариев нет:
Отправить комментарий