如何将空格字符放入XML的字符串名称中?


174

我在strings.xml文件中定义了一些字符串。现在,我需要在字符串中的一些数字之间放置一些额外的空格。当我键入多余的空格字符时,这不会显示在应用程序上。

之前:

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

如果我这样放置额外的空间:

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

在应用程序上看起来一样。如何使空格字符成为XML字符串?


好吧,它在此页面中看起来也一样... :)我要在数字之间留一些间隔,这怎么可能..?
安德烈亚斯(Andreas)2012年

使用代码格式来保留<>SO上的空格(和内容)。:)
安德鲁·汤普森

Answers:


405

使用xml中的空白作为字符串使用&#160;。XML不会留空格。它将在设置之前修剪空白区域。因此使用&#160;代替单个空格


1
当空格出现在文本末尾时,这不适用于textview的wrap_content。文本视图不保持'空格'字符占用的宽度。
toobsco42 2013年

28
这将添加一个不可中断的空间。它与常规空间不同,不适用于某些功能(normalize-space例如XPath )。尝试使用&#032;(常规空格)代替&#160;。@ toobsco42
shwartz 2014年

我不得不使用&#160;而不是\u0020在电话号码中的区号后放置一个不间断的空格。否则,电话号码将在区号尾随括号后的行末进行包装。
mharper '17

&#032; 可以,如果您需要1个空间。如果您放置多个(&#032;&#032; ...),它们会被修剪为1。我认为它的行为与正常的空白相同,因此似乎毫无用处。如果找到,还可以提供有关&#009;的建议。(假定为制表符):不显示任何内容。&#160; 很好,这就是我需要的,谢谢ρяσsρєяK.
herve-

57

将\ u0020直接插入XML中,以保留空白。

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

24

Android不支持在String.xml文件的字符串末尾保留空格,因此,如果要在字符串后保留空格,则需要在单词之间使用此unicode。

\ u0020

它是一个Unicode空格字符。


这适用于使用Android Studio 3.6.2编译为Android 4.4的情况。谢谢。
爱与和平-Joe Codeswell,

11

如前所述,在XML文件中具有空格的正确方法是使用\u0020Unicode字符作为空格。

例:

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

据说还有其他建议使用&#160;或,&#032;但是这样做有两个缺点。第一个缺点是这些是ASCII字符,因此您依靠诸如TextView之类的东西来解析它们。第二个缺点是&#160;有时会在TextViews中引起奇怪的换行。



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.默认情况下,您可以在字符串资源文件中直接添加一个空格,即可正常工作。但是,如果在字符串资源文件中提供多个空格,则它将排除该空格。例如。-4、5,-5、6,-6,

  1. 如果要在字符串资源文件中添加更多额外的空格,请使用:-i。在字符后添加unicode

        <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个字符串之间输入空格,或者在android的String文件中给定空格,请在您的字符串文件中执行此操作。在要显示的“字符串名称”之前实施此操作。 \ u0020 \ u0020 例如 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020付款


2

xml:space =“ preserve”

奇迹般有效。

编辑:错误。实际上,它仅在内容仅由空格组成时才起作用。

链接


1

如果输出为HTML,则在HTML中多个空格显示为单个空格。为避免这种情况,请使用不间断空格(xA0)代替普通空格。


1

我可以在字符串中间获得多个空格的唯一方法。

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

Before   After

0

您希望它显示为“ -4、5,-5、6,-6”(两个空格),您可以在string.xml中添加以下代码

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

  显示一个空格。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.