2015-10-13 2 views
7

У меня есть текст, который содержит более одного абзаца (с помощью «\ n»), и вы хотите установить интервал между абзацами, но без использования «\ n \ n». Но текст из того же абзаца я хочу сохранить их с более низким пространством.Как увеличить интервал между абзацами в текстовом виде

Я пробовал использовать lineSpacingExtra и lineSpacingMultiplier, но он устанавливает пробелы для каждой строки (также в абзаце абзаца).

Я хочу что-то вроде этого:

Multiparagraph padding

+0

Если вам нужен такой контроль над пространством между параграфами, вам может быть лучше помещать второй абзац в другой TextView и размещать их с полями и отступом. – NoChinDeluxe

+0

Проблема в том, что я не знаю, сколько абзацев будет иметь текст. Я хотел знать, есть ли более простой способ добавить пробелы без добавления текстовых просмотров динамически с полями между ними. –

+0

Ну, изображение, которое вы отправили в своем вопросе, - это то, что вы должны получить с помощью '\ n \ n'. Поэтому, если вы этого не понимаете, то что-то еще не так. – NoChinDeluxe

ответ

1

Вы можете использовать

Html.fromHtml(String); 

Это поможет вам написать строку в виде HTML, где вы можете использовать HTML-теги, как <p>, <h1> и т.д.

Например:

myTextView.setText(Html.fromHtml("<p>This is it first<br>paragraph.</p><p>This is the second<br>paragraph.</p>")); 
2

Вы можете использовать Spannable, чтобы достичь этого:

String formattedText = text.replaceAll("\n", "\n\n"); 
SpannableString spannableString = new SpannableString(formattedText); 

Matcher matcher = Pattern.compile("\n\n").matcher(formattedText); 
while (matcher.find()) { 
    spannableString.setSpan(new AbsoluteSizeSpan(25, true), matcher.start() + 1, matcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
} 

Код выше заменяет все разрывы строк с двумя переносами строки. После этого он устанавливает абсолютный размер для каждого разрыва второй строки.

Смежные вопросы