在XML资源字符串中添加新的行/n似乎是不可能的。还有别的办法吗?
使用黑斜线而不是正斜线。\ n
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello\nWorld!</string>
</resources>
同样,如果你计划使用字符串作为HTML,你可以使用<br />对于换行符(<br />)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Hello<br />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)
然后我在屏幕上有一个跳转
这是一个老问题,但我发现当你创建一个这样的字符串时:
<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“代码”
在我尝试下一个解决方案之后
添加\ 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 &\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>
我试过了 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字符串资源中实际工作。
推荐文章
- androidviewpager与底部点
- 相同的导航抽屉在不同的活动
- 如何从视图中获得托管活动?
- 单一的TextView与多种颜色的文本
- 如何在非活动类(LocationManager)中使用getSystemService ?
- 在清单中注册应用程序类?
- Android:从数组中编程创建旋转器
- LINQ读取XML
- Android命令行工具sdkmanager总是显示:警告:无法创建设置
- 如何设置RecyclerView应用程序:layoutManager=""从XML?
- 在没有开发服务器的情况下在设备上构建和安装unsigned apk ?
- 操作栏和新引入的工具栏有什么不同?
- 调整浮动动作按钮图标大小(fab)
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- android:在触摸移动时移动视图