web-dev-qa-db-ja.com

XMLフォーマットの改行?

xMLで文字列を編集するとき、改行を追加する必要があります。そして、私はAndroid用のプログラミングの際にRIGHTフォームとは何ですか尋ねましたか?なぜなら<br>は動作しますが、Eclipseは問題があるとマークします。提案をチェックアウトすると、Eclipseは終了タグ</br>-改行が消えることを追加した場合...

そのため、1つは動作しますが問題があるとマークされ、もう1つは動作しませんが、Eclipseは問題ありません。

どのフォームを使用しますか?

68
Oliver Goossens

改行には_\n_を使用し、タブを挿入する場合は_\t_を使用します。

基本的な書式設定にいくつかのXMLタグを使用することもできます。太字テキストには_<b>_、斜体には_<i>_、下線付きテキストには_<u>_です。

他のフォーマットオプションは、Android Developers 'site:
https://developer.Android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

132
Christopher Orr

赤い文字列を参照している場合、\ nでCDATAを使用します。

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

また、\ nの代わりに<br>を追加できます。

そして、テキストをTexViewに追加できます。

articleTextView.setText(Html.fromHtml(textForTextView));
4
mobiledev Alex

注意してください:&#xA;が段落区切りを与えると言う他の投稿を見ましたが、奇妙なことにAndroid xml String.xmlファイルで動作しますが、表示されませんテスト時にデバイスに表示されます(ブレークはまったく表示されません)。したがって、両方に\nが表示されます。

3
Azurespot

ソース文字列にアクセスできないときに使用するものを次に示します。ダウンロードした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));
2
Lorne Laliberte