203

似乎不可能向/nXML 资源字符串添加新行。还有另一种方法吗?

4

21 回答 21

422

使用黑斜杠而不是正斜杠。 \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>
于 2011-03-28T14:16:36.323 回答
52

我知道这是一个很老的问题,但是当我搜索时它位居榜首。所以我想用另一种方法更新。

在 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 中使用回车来查看列表或我拥有的任何多行字符串。我的两分钱。

于 2013-06-25T03:30:50.217 回答
42

在我尝试下一个解决方案之后

  • 添加\n
  • 后面\n不加空格
  • 在文本中使用""并按Enter
  • Enter的文本
  • 采用lines=2

解决我的是br标签

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

更新

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

于 2020-11-08T08:00:16.170 回答
33

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

<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
于 2017-08-25T10:14:42.030 回答
7

在 Android Studio 中使用翻译编辑器时,只需单击右侧的图标(或在 Windows 上使用 Shift-Enter,在 MacOS 上使用 Alt/Option-Enter),然后使用 return 添加换行符。

这将\n在本地化的 strings.xml 中正确插入。

于 2018-01-21T12:32:35.437 回答
5

在最新版本的 Android Studio 中,“\n”将被打印出来,除非整个字符串都在撇号中

例如:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">"Hello\nWorld!"</string>
</resources>
于 2019-04-06T02:05:58.393 回答
5

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

  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>
于 2021-06-08T05:44:30.380 回答
4

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

所以我做了 :

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

然后我在屏幕上得到一个跳线

于 2016-04-15T09:37:21.323 回答
3

\n 后面不要加空格,否则不起作用。我不知道原因,但这个技巧对我很有效。

于 2020-06-25T14:59:14.257 回答
2

我刚遇到这个问题。不适TextView用于约束参数。添加android:lines="2"似乎可以解决此问题。

于 2020-06-07T19:22:21.063 回答
2

我试过 1-Top word \nBottom word 2-Top word ENTER Bottom word

没用最后 <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
于 2021-08-04T07:51:11.523 回答
2

最后,我找到了解决方案。<br/>仅适用于设计,不适用于正在运行的应用程序。
仅适用于\n运行应用程序而不适用于设计
,因此如果您想同时获得两种结果,解决方案是同时使用两者。
像这样的东西

\n<br/>

例子:

Hello \n<br/>World.

设计模式下的结果:
Hello\n
World。

结果运行应用程序:
Hello
World。

于 2021-09-27T19:45:25.327 回答
1

非常简单,您只需将
\n 放在您想要在字符串资源中换行的地方。

例如

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

于 2017-07-26T10:54:42.913 回答
1

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

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

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

在此处输入图像描述

单击向下按钮,您将看到此图像

在此处输入图像描述

此外,如果您运行该应用程序,您会看到它是用两行编写的。

于 2021-02-04T21:30:28.903 回答
1
\n tag worked in the strings.xml file

例如:

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

输出:

Hello World &
Welcome

笔记:

  • 确保不要在\n"的前后添加空格
  • 即使在运行应用程序时它在 UI 的预览窗口中没有显示新行,它也会显示在下一行中。
于 2021-06-04T09:40:04.303 回答
1

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

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

(至 2 条断线)

于 2021-07-19T23:32:48.713 回答
0

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

编辑器窗口按钮

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

于 2019-08-20T11:53:20.953 回答
0

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

好吧,我起初也对为什么\n在布局中不起作用感到困惑,但似乎当您在实际设备中实际看到该布局时,它会创建一个换行符,因此无需担心它在布局显示屏幕上显示的内容休息将在设备上完美运行。

于 2021-02-08T18:27:11.020 回答
0

迟到的答案,但我认为可能会帮助某人。

您有时会在 android studio 的布局预览中的 textview 中看到\n 。(但它就在那里)。请刷新布局。
或者将您的应用程序部署到真正的 Android 设备,以查看\n实际在 android 字符串资源中工作。

于 2021-12-02T15:13:47.030 回答
0

你可以使用这种格式

<string name="test">
"This is
a new line"
</string>
于 2021-12-06T17:44:08.733 回答
-1

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

于 2021-03-15T10:59:39.190 回答