【问题标题】:How to put space character into a string name in XML?如何将空格字符放入 XML 中的字符串名称中?
【发布时间】:2012-06-07 10:39:40
【问题描述】:

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

之前:

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

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

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

它只是在应用程序上看起来相同。如何在 XML 字符串中添加空格字符?

【问题讨论】:

标签: android xml whitespace


【解决方案1】:

在 xml 中使用空格作为字符串使用&amp;#160;。 XML 不会按原样占用空格。它会在设置之前修剪空白。所以使用&amp;#160;而不是单个空格

【讨论】:

  • 当空格出现在文本的末尾时,这不适用于 textview 的 wrap_content。文本视图不保持“空格”字符占用的宽度。
  • 这将添加一个不可破坏的空间。它与常规空间不同,并且不适用于某些功能(例如 XPath 的normalize-space)。尝试使用&amp;#032;(常规空格)而不是&amp;#160;。 @toobsco42
  • 我不得不使用&amp;#160; 而不是\u0020 在电话号码的区号后面放置一个不间断的空格。否则,电话号码将被包裹在区号尾括号之后的行尾。
  • 如果您需要 1 个空间,则可以。如果你放了几个( ...),它们将被修剪为 1。我认为这与普通空格的行为相同,所以它似乎没用。如果发现还有关于 的建议(应该是一个制表符):它什么也不显示。  效果很好,这是我需要的,谢谢 ρяσѕρєя K.
【解决方案2】:

直接在 XML 中插入 \u0020 以获得您想要保留的空白。

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

【讨论】:

    【解决方案3】:

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

    \u0020

    它是一个 unicode 空格字符。

    【讨论】:

    • 这适用于我使用编译为 Android 4.4 的 Android Studio 3.6.2。谢谢。
    【解决方案4】:

    这应该也可以。使用引号来保持空间

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

    【讨论】:

    • 这是我认为最干净(最容易阅读)的答案。不幸的是,大多数人在继续之前可能不会在答案列表中排到这么远。
    • 这应该得到更多的支持。非常干净易读,没有 unicode bs
    【解决方案5】:

    如前所述,在 XML 文件中使用空格的正确方法是使用 \u0020,它是空格的 unicode 字符。

    例子:

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

    其他建议使用&amp;#160;&amp;#032;,但这有两个缺点。第一个缺点是这些是 ASCII 字符,因此您依赖于 TextView 之类的东西来解析它们。第二个缺点是&amp;#160; 有时会在 TextViews 中引起奇怪的包装。

    【讨论】:

      【解决方案6】:

      &amp;#160;放在string.xml文件中,表示android项目中的单个空格。

      【讨论】:

        【解决方案7】:

        空间变体:

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

        |空间 |薄空间 |头发空间 |

        【讨论】:

        • 这是最甜蜜最棒的一个
        【解决方案8】:

        你也可以使用下面的

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

        " "(quotation) 中加上空格,它应该可以工作

        【讨论】:

        • 把任何东西放在 " "(quotation) 中,带空格,它应该可以工作:这不工作
        【解决方案9】:

        如果您尝试在 2 个字符串之间或在 android 的字符串文件中提供空格,请在您的字符串文件中执行此操作。 在您要显示的“字符串名称”之前实施此操作。 \u0020\u0020 例如。 \u0020\u0020\u0020\u0020\u0020\u0020付款

        【讨论】:

          【解决方案10】:

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

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

          【讨论】:

            【解决方案11】:

            根据您的问题,如果您想在字符串资源中添加多个空格,它们有很多选项可以在字符或单词之间添加空格:

            1.默认情况下,您可以直接在字符串资源文件中添加一个空格,它可以正常工作。但如果在字符串资源文件中给出多个空格,则它会排除该空格。 例如。 -4, 5, -5, 6, -6,

            1. 如果您想在字符串资源文件中添加更多额外空格,请使用:- 一世。在字符后添加 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>
            

            【讨论】:

              【解决方案12】:

              xml:space="preserve"

              像魅力一样工作。

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

              Link

              【讨论】:

                【解决方案13】:

                如果输出是 HTML,则在 HTML 中多个空格显示为一个空格。为防止这种情况,请使用不间断空格 (xA0) 而不是普通空格。

                【讨论】:

                  【解决方案14】:

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

                  &lt;string name="spelatonertext3"&gt; "-4,&amp;#160;&amp;#160;5,&amp;#160;-5,&amp;#160;&amp;#160;6,&amp;#160;&amp;#160;-6,"&lt;/string&gt;

                    是显示一个空格。

                  【讨论】:

                    【解决方案15】:

                    在 Android Studio 中,您可以打开 strings.xml 文件,然后单击“打开编辑器”,您可以在编辑器中键入任何内容,它会为您处理它,让您在应用程序中完全按照您的方式出现输入它

                    我知道写这个答案可能已经晚了,但它可能会对某人有所帮助。

                    【讨论】:

                      【解决方案16】:

                      正如这里所解释的https://www.programmersought.com/article/33576744031/ 使用

                      例子

                      <string name="in">in &#160; </string
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2011-10-29
                        • 2020-02-08
                        • 2015-07-06
                        • 2011-03-19
                        相关资源
                        最近更新 更多