Разрыв строки в форматировании XML?

при редактировании строки в XML мне нужно добавить разрывы строк. И я хотел спросить, что такое ПРАВИЛЬНАЯ форма при программировании для Android? Поскольку <br> работает, но ECLIPSE отмечает эту область как проблемную. Если я проверю предложения, Eclipse скажет мне, что я добавлю конечный тег </br> - ЕСЛИ я добавляю, что разрыв строки исчезает...

Итак, тот работает, но отмечен как проблематичный, другой работает не, но Eclipse говорит мне, что все в порядке.

Какую форму я должен использовать?

Ответ 1

Используйте \n для разрыва строки и \t, если вы хотите вставить вкладку.

Вы также можете использовать некоторые теги XML для базового форматирования: <b> для жирного текста, <i> для курсива и <u> для подчеркнутого текста.

Другие параметры форматирования показаны в этой статье на сайте разработчиков Android:
https://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Ответ 2

Если вы ссылаетесь на строки res, используйте CDATA с \n.

<string name="about">
    <![CDATA[
 Author: Sergio Abreu\n
 http://sites.sitesbr.net
  ]]>        
</string>

Ответ 3

Также вы можете добавить <br> вместо \n.

И затем вы можете добавить текст в TexView:

articleTextView.setText(Html.fromHtml(textForTextView));

Ответ 4

Обратите внимание: я видел другие сообщения, которые говорят, что &#xA; предоставит вам абзац break, который, как ни странно, работает в файле xml String.xml Android, но не будет отображаться на устройстве при тестировании (без перерывов на все появляются). Следовательно, \n отображается на обоих.

Ответ 5

Вот что я использую, когда у меня нет доступа к исходной строке, например. для загруженного HTML:

// replace newlines with <br>
public static String replaceNewlinesWithBreaks(String source) {
    return source != null ? source.replaceAll("(?:\n|\r\n)","<br>") : "";
}

Для XML вы, вероятно, должны изменить это вместо <br/> вместо.

Пример его использования в функции (дополнительные вызовы удалены для ясности):

// remove HTML tags but preserve supported HTML text styling (if there is any)
public static CharSequence getStyledTextFromHtml(String source) {
    return android.text.Html.fromHtml(replaceNewlinesWithBreaks(source));
}

... и еще один пример:

textView.setText(getStyledTextFromHtml(someString));