1.特殊符号转义:
string.xml是xml文件 所以一些特殊符号在xml中需要转义这项需求也被继承下来 但是在android中又比较特殊 而且\在android.xml中代表转义字符
如在string.xml中一个空格或多个空格都只代表一个空格 如果要想多个空格 空格需用 代替 多少个 就有多少个空格
XML转义字符
以下为XML标志符的数字和字符串转义符
" (" 或 ")
' (' 或 ')
& (& 或 &)
< (< 或 <)
> (> 或 >)
测试以上xml转义字符
在string.xml中
直接使用"或使用转义字符(" 或 ") 都不会出现" 想要出现"需要使用\"
使用'或使用转义字符(' 或 ') string.xml会报错 想要不报错和出现'需使用\'
使用&和\&会报错 想要不报错和出现&需使用转义字符(& 或 &)
使用<和\<会报错 想要不报错和出现<需使用转义字符(< 或 <)
显示>可以直接使用>也可以使用转义字符(> 或 >) \>显示空(既不显示任何字符)
2. 变量文本格式(%s)提示:
Multiple annotations found at this line: - error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute? - error: Unexpected end tag string 这是由于新的SDK(虽然从没用过老的)采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,在Android最新的开发文档中描述String的部分,已经说明了如何去设置 %s 等符号,可以点击去看. 简单解决方法就是:把%s之类的变量格式替换成%1$s,%1表示第一个位置的变量,$s表示为字符串类型 例如: <string name="welcome_messages">Your First Var is %1$s! You Second Var is %2$d.</string>