androidのstring.xml转译、特殊字符问题处理

androidのstring.xml转译、特殊字符问题处理

1. 编辑 string.xml 文件的时候,各种文字格式需要我们处理,先看下转义字符:

XML转义字符 
以下为XML标志符的数字和字符串转义符 
"     (" 或 ") 
'     (' 或 ') 
&     (& 或 &) 
lt(<) (&#60; 或 &lt;) 
gt(>) (&#62; 或 &gt;) 
2. 案例 
1). 字符换行

<string name="first">大家好,欢迎来到。welcome to here!</string> 
显示:
大家好,欢迎来到。 
welcome to here! 
解决方法:<string name="hello">大家好,欢迎来到eoeandroid社区。\nwelcome to here!</string> 
2.  字符空格

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

字符之间的空格用 Space 键是能显示出效果的的,但是字符后面如果需要添加空格,直接 Space 键是不管用的,此时 空格应该用 &#160;来表示;

<string name="score">Score : &#160;</string>

<string name="space">&#160;&#160;&#160;&#160;我来看空格</string> 
3. 常用问题解析
1). 遇到如下错误的时候说明你需要在单引号签名加转义字符(\): 
Description Resource Path Location Type error: Apostrophe not preceded by \ (in Search' Titles) strings.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> 



你可能感兴趣的:(android,转义字符,string.xml)