2015-08-18 6 views
1

Я создаю приложение для Android, и мне нужно представить некоторые данные. Данные в текстовом формате, и будет представлен в TextView, а вот пример того, как это может быть отформатирован:Как предотвратить Android TextView от нарушения текста, следующего за определенным шаблоном, на несколько строк?

Некоторые слова, некоторые слова, даже более/слова

Моя проблема в том, что, когда предложение достаточно длинное, TextView автоматически обертывает текст на две строки. Я хочу, чтобы этот перенос строк произошел, но не в том месте, где это происходит. Обертка линия может быть создана в пространстве между даже и более /слов или после косой черты в еще более/слов,
, но я хочу разрыв строки произойдет до этого текста (еще/слова), после запятой. То же самое и для пространств. В принципе, я хочу, чтобы текст не переносился в новую строку в любом другом месте, кроме как после любой запятой.

Вот несколько примеров того, как текст может быть обернут, и как я хочу его вместо этого в каждом случае.


Пример

Часть текста, часть текста, некоторые
более/текст

желаемого результата

Некоторые те х, часть текста,
еще немного/текста


Пример

Некоторого текст, часть текста, более/
некоторого текст

Wanted результат

Часть текста, часть текста,
еще немного/текст


Пример

Часть текста, некоторые
текст, более/
некоторый текст

Wanted результат

Некоторого текст,
некоторый текст,
некоторые более/
текст


Я посмотрел через источник Android для TextView -класса и попытался найти место, где была завершена линия, так что я мог бы переопределить этот метод и каким-то образом добавить свои собственные «правила» для него, но я не смог его найти. Я тоже искал его, но я не мог найти ничего полезного.

Надеюсь, что это достаточно ясно!

ответ

0

Для этого вы можете использовать Html.fromHtml("") во время установки текста.

Пример:

textview.setText(Html.fromHtml("First line,<br/>Second line")) 

Результат:

Первая линия,

Вторая линия

+0

Это не поможет, потому что я wan't это произойдет автоматически , так что он будет содержать столько «частей» (разделенных запятыми) на одной строке, и когда он будет заполнен, он создает новую строку и помещает следующие части. –