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


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

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

在strings.xml文件中,你可以输入\n或者简单地按enter键:

<string name="你的字符串名称" >这是你的字符串。 这是弦的第二行。\n\n字符串的第三行

这将导致以下在你的TextView:

这是你的绳子。 这是弦的第二行。 你的绳子的第三行。

这是因为在字符串的开始声明和新行之间有两个返回值。为了清晰起见,我还添加了\n,因为两者都可以使用。我喜欢在xml中使用回车,以便能够看到列表或任何多行字符串。我的意见。


如果你在xml文件的字符串中输入“\n”,它会被当作“\\n”

所以,我做了:

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

然后我在屏幕上有一个跳转


很简单,你只要把 \ n 在字符串资源中任何你想要断行的地方。

例如

字符串资源有n个换行符;


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

<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。


在最新版本的Android studio中,"\n"会像它应该在那里一样被打印出来除非整个字符串是撇号

例如:

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

我想进一步解释这个问题。 他们的意思是这个图标:

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


我只是面对这个问题。 不能在约束参数的TextView上工作。添加android:lines="2"似乎可以解决这个问题。


不要在\n后面加空格,否则行不通。我不知道原因,但这招对我很管用。


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

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

解决我的是br标签

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

更新

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


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

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

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

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

此外,如果你运行应用程序,你会看到它写在两行。


虽然实际的问题是正斜杠仍然使用那些反斜杠,但仍然看到\n在他们的布局。

嗯,我也困惑为什么\n在布局中不工作,但似乎当你在实际设备中看到该布局时,它会创建一个换行符,所以不必担心它在布局显示屏上显示什么,你的换行符将在设备上工作得很好。


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


\n tag worked in the strings.xml file

Eg:

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

输出:

Hello World &
Welcome

注意:

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


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

我使用了<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>

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

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

(到2个断行)


我试过了 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

最后,我找到了解决办法。 <br/>只在设计上工作,在运行应用程序中不起作用。\n只在运行应用程序上工作,在设计上不起作用 所以如果你想同时得到两个结果,解决办法就是两者都用。 就像这样

\n<br/>

例子:

Hello \n<br/>World.

设计模式的结果: 你好\ n 世界。

运行应用程序的结果: 你好 世界。


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

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


您可以使用这种格式

<string name="test">
"This is
a new line"
</string>