在XML资源字符串中添加新的行/n似乎是不可能的。还有别的办法吗?


当前回答

我尝试了两种选择,都是有效和简单的。

我使用了<br/> HTML标签

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

在strings.xml的顶部添加编码行

<?xml version="1.0" encoding="utf-8"?>

然后用“\n”换行 例子

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

其他回答

回答晚了,但我想可能会对某人有所帮助。

你有时会在android工作室的布局预览的文本视图中看到\n。(但那是谎言)。请刷新布局。 或者将你的应用部署到一个真正的Android设备上,看看\n在Android字符串资源中实际工作。

使用黑斜线而不是正斜线。\ 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>

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

<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

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

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

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

添加\ n 加上不带空格的\n 使用""并在文本内按Enter 输入文本并按Enter 使用行= 2

解决我的是br标签

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

更新

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