Разрыв строки в форматировании 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
Обратите внимание: я видел другие сообщения, которые говорят, что 

предоставит вам абзац 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));