Как отключить автоматическое форматирование текста в TextView для определенных символов?

#java #android #text #formatting #textview

#java #Android #текст #форматирование #textview

Вопрос:

У меня есть textview с шрифтом droid без моно. Максимальная длина строки составляет 10 символов. получаю это с помощью этой функции.

this.getPaint().breakText(ПОЛНЫЙ ТЕКСТ, 0, 100, true, this.getWidth(), null);

Я хочу, чтобы строки всегда заполнялись, если есть текст, а не разрыв на полпути или что-то подобное. Если я использую только обычные символы, такие как цифры и буквы, это работает, но для таких символов, как «.» или «,» в определенных ситуациях разрыв строки.

Например: если у меня есть строка:

 "0123456789" or ".012345678"
 

телевизор работает так, как я хочу.. строка заполнена .. но с вводом:

 "Y.012345678"
 

разрыв строки таким образом:

 ".xxxxxxxxx"
"012345678Y" 
 

где x — пустые пробелы.

я хочу иметь многострочный, я просто не хочу пустых пробелов (только в последней строке)

Если я вставлю два специальных символа, например:

 "01234\.789"
 

его начало прерываться на полпути, если строка заполнена. насколько я понимаю, textview разбивает предложения, которые слишком длинны для строки.

В настоящее время я ввожу другой chareacter без такого поведения, но я был бы счастлив, если бы мне не нужно было этого делать. (слишком много исправлений нужно сделать, и это грязно)

Я заметил, что описанное поведение не в каждой версии Android. У меня есть устройства с версией Android 2.3.6, 4.0.4 и kindle fire. У меня нет проблем с 2.3.6.

Есть ли способ отключить это поведение TextView? Спасибо.

Ответ №1:

 android:singleLine="true"
 

это свойство textview и edittext, которое сохранит текст в одной строке. если длина строки слишком велика, текст будет усечен, но никогда не перейдет на следующую строку.

Комментарии:

1. я хочу иметь многострочный textview. я использую android:inputType=»textMultiLine» я просто хочу, чтобы пробелы были только в последней строке.