格式和样式
关于如何正确设置字符串资源的格式和样式,您应了解以下几个要点。
处理特殊字符
如果 XML 或 Android 中的字符串包含有特殊用法的字符,则必须转义这些字符。您可以使用前导反斜杠转义某些字符,但其他字符需使用 XML 转义。您也可以通过在双引号中包括整个字符串,处理撇号和单引号。以下为部分示例:
字符 | 转义形式 |
---|---|
@ | \@ |
? | \? |
< | < |
& | & |
单引号 (' ) | 以下任意字符:
|
双引号 (" ) | 以下任意字符:
请注意,您必须转义双引号。在单引号中包括字符串没有任何作用。 |
设置字符串格式
如需设置字符串的格式,您可以在字符串资源中放入格式参数(如以下示例资源所示)。
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
String text = getString(R.string.welcome_messages, username, mailCount);
注意:在多参数的情况下:以前低版本可以定义成<string name="test">你好%s,%shello</string>。这种定义是没有问题的,如果在一些高版本的sdk下,gradle会报错,如果报错,改成<string name="test">你好%1$s,%2$s 哈哈</string>,即占位需要告诉相应的索引。