android strings.xml转义字符, 注意细节解决

XML转义字符

以下为XML标志符的数字和字符串转义符

"("或")

'('或')

&(&或&)

lt(<)(&#60;或&lt;)

gt(>)(&#62;或&gt;)

如题:

比如:在string.xml中定义如下一个字符串,

<stringname="first">大家好,欢迎来到eoeandroid社区。welcometohere!</string>

我想以

大家好,欢迎来到eoeandroid社区。

welcometohere!

两行的形式输出,如何做?加\n,看下面:

<stringname="hello">大家好,欢迎来到eoeandroid社区。\nwelcometohere!</string>

android中的空格编码string.xml前后加空格的技巧

<stringname="space">&#160;&#160;&#160;&#160;我来看空格</string>

&#160;这个就代表着空格

1.遇到如下错误的时候说明你需要在单引号签名加转义字符(\):

DescriptionResourcePathLocationTypeerror:Apostrophenotprecededby\(inSearch'Titles)strings.xml

只要将定义的字符串中的单引号('),修改为(\')即可

2.变量文本格式(%s)提示:

Multipleannotationsfoundatthisline:

-error:Multiplesubstitutionsspecifiedinnon-positionalformat;didyoumeantoaddtheformatted="false"

attribute?

-error:Unexpectedendtagstring

这是由于新的SDK(虽然从没用过老的)采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,在Android最新的开发文档中描述String的部分,已经说明了如何去设置%s等符号,可以点击去看.

简单解决方法就是:把%s之类的变量格式替换成%1$s,%1表示第一个位置的变量,$s表示为字符串类型

例如:

<stringname="welcome_messages">YourFirstVaris%1$s!YouSecondVaris%2$d.</string>

相关推荐