スペース文字をXMLの文字列名に入れる方法は?


174

strings.xmlファイルにいくつかの文字列を定義しました。次に、文字列のいくつかの数字の間に余分なスペースを入れる必要があります。余分なスペース文字を入力すると、アプリケーションには表示されません。

前:

<string name="spelatonertext3">-4, 5, -5, 6, -6,

そして、私がこのように余分なスペースを置くと:

<string name="spelatonertext3">-4,  5, -5,   6,  -6,

アプリ上では同じに見えます。スペース文字をXML文字列にするにはどうすればよいですか?


まあ、それはこのページでも同じように見えました... :)数字の間にスペースを入れたいのですが、どうすれば可能ですか?
Andreas

コードの書式設定を使用して、<>SOのスペース(およびコンテンツ)を保持します。:)
Andrew Thompson

回答:


405

文字列としてxmlの空白を使用するには、を使用します&#160;。XMLは、空白をそのまま使用しません。設定する前に空白を削除します。したがって&#160;、単一の空白の代わりに使用します


1
これは、テキストの最後にスペースがある場合、textviewのwrap_contentでは機能しません。テキストビューは、「スペース」文字が占める幅を維持しません。
toobsco42 2013年

28
これにより、壊れないスペースが追加されます。これは通常のスペースとは異なり、特定の機能(XPath normalize-spaceなど)ではうまく機能しません。の&#032;代わりに(通常のスペース)を使用してみてください&#160;。@ toobsco42
shwartz

&#160;代わりにを使用\u0020して、電話番号の市外局番の後に改行しないスペースを配置する必要がありました。それ以外の場合、電話番号は、市外局番の末尾のかっこの後に行末で折り返されていました。
mharper

&#032; 1つのスペースが必要な場合は問題ありません。複数入れた場合(&#032;&#032; ...)は1にトリミングされます。通常の空白と同じ振る舞いだと思いますので役に立たないようです。&#009;に関する提案も見つかった場合 (タブ文字と見なされます):何も表示しません。&#160; うまく機能します。それは私が必要としていることです。感謝の気持ちρяσѕρєяK.
herve-guerin

57

保存したい空白のXMLに直接\ u0020を挿入します。

<string name="spelatonertext3">-4, \u00205, \u0020\u0020-5, \u00206, \u0020-6,</string>

24

Androidは、String.xmlファイルの文字列の末尾にスペースを維持することをサポートしていないため、文字列の後にスペースが必要な場合は、単語間にこのユニコードを使用する必要があります。

\ u0020

ユニコードのスペース文字です。


これは、Android 4.4にコンパイルされたAndroid Studio 3.6.2を使用して動作しました。ありがとう。
愛と平和-ジョーコードウェル

11

すでに述べたように、XMLファイルにスペースを含める正しい方法は、 \u0020のUnicode文字であるを使用することです。

例:

<string name="spelatonertext3">-4,\u00205,\u0020-5,\u00206,\u0020-6</string>

他の提案を使用すると述べていますが&#160;&#032;これには2つの欠点があります。最初の欠点は、これらがASCII文字であるため、TextViewのようなものを使用して解析することです。2番目の欠点は&#160;、TextViewで奇妙な折り返しが発生する可能性があることです。


7

スペースバリアント:

<string name="space_demo">|&#x20;|&#x2009;|&#x200A;|</string>

| スペース| 薄いスペース| ヘアスペース|


1
これは最も甘くて最高のものです
アブドゥル

6

これも動作するはずです。スペースを維持するために引用符を使用する

<string name="spelatonertext3">"-4,  5, -5,   6,  -6,"</string>

1
これは私の意見では最もクリーンな(読みやすい)回答です。残念ながら、ほとんどの人は、先に進む前に、回答リストのこれまでのところまで到達しないでしょう。
DavidR

5

&#160;string.xmlファイルに入れて、Androidプロジェクトの単一のスペースを示します。


5

以下も使用できます

<string name="spelatonertext3"> "-4,  5, -5,   6,  -6, "> </string>

" "スペースを入れて(引用)何でも入れれば、うまくいくはずです


1
""(引用符)にスペースを入れて何でも入れます。これは機能します。これは機能しません
Krunal Shah

3

あなたの質問に従って、文字列リソースに複数のスペースを追加したい場合、文字または単語の間にスペースを追加するための多くのオプションがあります:

1.デフォルトでは、1つのスペースを文字列リソースファイルに直接追加すると、正常に機能します。ただし、文字列リソースファイル内に複数のスペースを指定すると、そのスペースは除外されます。例 -4、5、-5、6、-6、

  1. 文字列リソースファイル内にさらにスペースを追加する場合は、次を使用します。のような文字の後にユニコードを追加する

        <string name="test">-4,&#160;&#160;5,&#160;&#160;-5,&#160;&#160;6,&#160;&#160;-6,</string>

ii。「\ u0020」を使用できます

<string name="test">-4,\u0020\u0020 5,\u0020\u00205 -5,\u0020\u00205 6,\u0020\u00205 -6,</string>

3

あなたがスペースの2文字列またはアンドロイドの文字列ファイルを与えようとしているなら、あなたの文字列ファイルでこれをしてください。表示する「文字列名」の前にこれを実装します。 \ u0020 \ u0020 たとえば \ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020支払い


2

xml:space = "preserve"

魅力のように機能します。

編集:間違っています。実際には、コンテンツが空白のみで構成されている場合にのみ機能します。

リンク


1

出力がHTMLの場合、HTMLでは複数のスペースが1つのスペースとして表示されます。これを防ぐには、通常のスペースの代わりに改行しないスペース(xA0)を使用します。


1

文字列の途中で複数のスペースを取得できる唯一の方法。

<string name="some_string">Before" &#x20; &#x20; &#x20;"After</string>

Before   After

0

「-4、5、-5、6、-6」(2つのスペース)のように表示したい場合は、次のコードをstring.xmlに追加できます。

<string name="spelatonertext3"> "-4,&#160;&#160;5,&#160;-5,&#160;&#160;6,&#160;&#160;-6,"</string>

  表示は1スペースです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.