字符串资源新行/ n不可能?

时间:2011-03-28 14:13:47

标签: android xml android-layout

似乎不可能在XML资源字符串中添加新行“/ n”。还有另一种方法吗?

由于

19 个答案:

答案 0 :(得分:342)

使用反斜杠而不是正斜杠。 “\ n” 个

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Hello\nWorld!</string>
</resources>

此外,如果您打算将字符串用作HTML,则可以使用&lt;br /&gt;进行换行(<br />

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Hello&lt;br /&gt;World!</string>
</resources>

答案 1 :(得分:49)

我知道这是一个非常古老的问题,但当我搜索时它排在榜单之上。所以我想用另一种方法更新。

在strings.xml文件中,您可以执行\ n,或者只需按Enter键:

<string name="Your string name" > This is your string.

   This is the second line of your string.\n\n Third line of your string.</string>

这将导致TextView上的以下内容:

  

这是你的字符串。

     

这是你的字符串的第二行。

     

你的字符串的第三行。

这是因为在字符串的开始声明和新行之间有两次返回。为了清晰起见,我还添加了\ n,因为它们都可以使用。我喜欢在xml中使用回车符来查看列表或我拥有的任何多行字符串。我的两分钱。

答案 2 :(得分:11)

这是一个老问题,但我发现当你创建一个这样的字符串时:

<string name="newline_test">My
New line test</string>

您应用中的输出将如下(无新行)

My New line test

将字符串放在引号中

<string name="newline_test">"My
New line test"</string>

将出现换行符:

My 
New line test

希望这有助于某人!

答案 3 :(得分:7)

我尝试了下一个解决方案

  • 添加\n
  • 在其后添加\n,且不包含空格
  • 使用"",然后在文本内按 Enter
  • 输入
  • 输入文字
  • 使用lines=2

我能解决的是br标签

<string name="successfullyfeatured">successfully<br/> You are now a member</string>

更新

最可靠的解决方案是使用翻译编辑器并编辑文本,它将为您处理新行

答案 4 :(得分:3)

我尝试了两种选择,既高效又简单。

  1. 我使用了 <br/> HTML 标签
<string name="name_detail">
        Hey user. <br/>
        Enjoy a new shopping deal.!!
</string>
  1. 在strings.xml顶部添加编码行
<?xml version="1.0" encoding="utf-8"?>

并使用 "\n" 换行 示例

<string name="name_detail">
        Hey user.\n
        Enjoy a new shopping deal.!!
</string>

答案 5 :(得分:2)

如果将“\ n”放在xml文件的字符串中,则将其视为“\\ n”

所以,我做了:

text = text.Replace("\\\n", "\n");   ( text is taken from resX file) 

然后我在屏幕上跳线

答案 6 :(得分:2)

在Android Studio中使用翻译编辑器时,只需单击右侧的图标(或使用Shift-Enter),然后使用return添加换行符。 这将在本地化的strings.xml中正确插入。

答案 7 :(得分:1)

请不要在\ n后放置空格,否则它将无法正常工作。我不知道原因,但是这个技巧对我很有效。

答案 8 :(得分:1)

要在设计选项卡中查看换行符和我使用的设备:

<br/><br/>\n\n

(到 2 条断线)

答案 9 :(得分:1)

您可以为此使用 HTML 标签。

示例:

 <resources>
   <string> Hello<br>World!!!</br> </string>
 </resources>

应该显示:

你好
世界!!!

您可以在此处查看更多提示: Android Developers - String Resources

答案 10 :(得分:1)

只需在您的strings.xml 文件中使用“\n”,如下所示

<string name="relaxing_sounds">RELAXING\nSOUNDS</string>

即使在布局上看起来不是 2 行,实际上也是 2 行。首先你可以在翻译编辑器上查看

enter image description here

点击向下按钮,你会看到这张图片

enter image description here

此外,如果您运行该应用程序,您会看到它被分成两行。

答案 11 :(得分:1)

我刚刚遇到了这个问题。 不适用于具有约束参数的shell> ansible-playbook pb.yml "msg": "111.111.111.111" 。添加TextView似乎可以解决此问题。

答案 12 :(得分:1)

在最新版本的Android Studio中,除非原字符串的整个位置都用单引号括起来,否则“ \ n”将被打印出来

例如:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">"Hello\nWorld!"</string>
</resources>

答案 13 :(得分:1)

非常简单,你只需要把           的 \ n 你想在你的字符串资源中断行的地方。

例如

String s = my string resource have \n line break here;

答案 14 :(得分:0)

尽管对于那些使用反斜杠但仍然在其布局中看到 \n 的人来说,实际问题仍然是正斜杠。

嗯,起初我也很困惑为什么 \n 在布局中不起作用,但似乎当您在实际设备中实际看到该布局时它会创建一个换行符因此无需担心它在布局显示屏上显示的内容,您的换行符在设备上可以正常工作。

答案 15 :(得分:0)

我想扩展this的答案。 他们的意思是这个图标:

Editor window button

它将打开一个“真实的编辑器窗口”,而不是大概览中功能有限的文本框。在该编辑器窗口中,允许特殊字符,换行符等,并在保存时将其转换为正确的xml“代码”

答案 16 :(得分:0)

\n tag worked in the strings.xml file

例如:

 <string name="hello">Hello World &amp;\nWelcome</string>

输出:

Hello World &
Welcome

注意:

  • 确保不要在 \n 前后添加空格
  • 即使它在您运行应用程序时在 UI 的预览窗口中没有出现在新行中,它也会显示在下一行中。

答案 17 :(得分:0)

我试过了 1-顶字\n底字 2-顶词ENTER底词

没用 最后 <br/> 在 android studio 为我工作

事实上,正确的使用方法是\n,尽管在构建应用程序后可以看到它完成。
只对设计有影响,对应用没有影响

<string name="available_balance">Available\nBalance</string> //Look good on the app and Available\nBalance in android studio
<string name="available_balance">Available<br/>Balance</string> //Look good in android studio and Available Balance on the App

答案 18 :(得分:-1)

您是否尝试过将其关闭再打开?! 这是一个非常古老的问题,但似乎没有其他答案表明这一点。
可能是 android studio 上的布局预览没有正确显示 textView。 所以你可以尝试退出android studio并再次启动它。
我想如果在计算机处于睡眠/休眠等状态时打开 android studio,就会发生这种情况。
无论如何,值得一试。