android xml中转义字符的使用

如果一段文字需要多个TextView拼贴,比如:“我叫XXX,今年XX岁了,身高X.X米”;

可以考虑引用string.xml文件中预定义的字符串拼接实现.

例子:

1.在string.xml中先定义好格式

<string name="hello">String.xml字符转义拼接: 我叫 %1$s,今年 %2$d岁了,身高 %3$f米。</string>

2.代码中这样实现

       TextView tv=(TextView)findViewById(R.id.textView);

       String format = getResources().getString(R.string.hello);  

       String result= String.format(format , "Android" , 5 , 2.46 );//对应xml中定义的123顺序

       Log.e("", result);

       tv.setText(result);

----------

输出结果如下:

String.xml字符转义拼接: 我叫 Android,今年 5岁了,身高 2.460000米.

--------------------------------------------------

特别注意:

在string.xml中无法直接写成 %d,%s,%f 等这类格式化符号,必须在中间加个转义符"$",而不是平时常用的转义符"\"

---新增,网上找的---

如何在<string></string>中使用%号:

有两个办法可供选择

1.用%%来表示1个%,和转意符号 \ 的用法相同.(但我经我测试发现无效,编译不报错,但输出结果是两个%)

2.如果你的字符串不需要格式化,可以在你的<string 标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可.

--------------------------------------------------------------------------------------

另外附送一些搜到的特殊转义符:

XML转义字符 
以下为XML标志符的数字和字符串转义符 
"     (&#34; 或 &quot;) 
'     (&#39; 或 &apos;) 
&     (&#38; 或 &amp;) 
lt(<) (&#60; 或 &lt;) 
gt(>) (&#62; 或 &gt;) 

下面的字符在 [XML]中被定义为 空白(whitespace)字符: 
空格 (&#x0020;) 
Tab (&#x0009;) 
回车 (&#x000D;) 
换行 (&#x000A;)

&amp; 或 &

&

&lt; 或 <

<

小于号

&gt; 或 >

>

大于号

&quot;

"

双引号

 

&nbsp;

 

 

空格

&copy;

©

版权符

&reg

®

注册符


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值