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

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

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

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

5 ответов


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

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

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


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

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

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

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

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

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


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

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

для XML вы, вероятно, должны отредактировать это, чтобы заменить на .

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

// 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));