Android中string.xml使用总结

 

本文为转载文章,转载处见文章底部。

Android中string.xml使用总结

<b></b>加粗字体



<i></i> 斜体字体



<u></u> 给字体加下划线



\n 换行



\u0020表示空格



\u2026表示省略号



使用&lt;b>和&lt;b>来打印出<b></b> 这样的文字;“&lt;”表示“<”的意思;



使用textView.setText(Html.fromHtml("Hello <b>World</b>,<font size=\"3\" color=\"red\">AnalysisXmlActivty!</font>"));设置类似于html那样的效果



如果你需要使用 String.format(String, Object...) 来格式化你的字符串,你可以把格式化参数放在你的字符串中,参见下面的例子:



<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>



在这个例子中,这个格式化的字符串有2个参数, %1$s是个字符串 %2$d 是个浮点数,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:



Resources res = getResources();



String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);



那么根据例子上说的我需要把%s换成%1$s才行了,修改后编译通过,程序成功启动。



问题补充:如何在<string></string>中使用%号



有两个办法可供选择


1.用%%来表示1个%,和转意符号 \ 的用法相同



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





下面主要介绍android文本资源文件/res/values/strings.xml中xliff标签。


预备知识:


1、什么是xliff?


     参照http://baike.baidu.com/view/4160854.htm。



2、java格式化字符串有哪些?


     参照http://wenku.baidu.com/view/56f3ed0e52ea551810a687eb.html,写的很详细。



3、android中获取资源文件getString()方法


     该方法有两种形式,getString(int  resId)和getString(int  resId,object arg1,object arg2,...)。


     下面主要介绍的是第二种形式,即getString(int  resId,object arg1,object arg2,...)。



开始今天的主题:


先看一个strings.xml的定义:


<?xml version="1.0" encoding="utf-8"?>


<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">


    <string name="name">我叫<xliff:g id="id1" example="tom">%1$s</xliff:g>身高<xliff:g id="id2" example="170">%2$d</xliff:g>CM</string>


</resources>


该文件与普通文件的区别:


1、具有命名空间xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2",这个必须要有。


2、在<string>标签中含有<xliff:g>标签。


<xliff:g>标签介绍:


属性id可以随便命名


属性example表示举例说明,可以省略


%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格


%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0


%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00


更多参照预备知识2中的java格式化字符串



举例说明:


针对上面的strings.xml文件,在代码里这样表示


TextView txt = new TextView(this);


txt.setText(getString(R.string.name),"android",180);


输出结果为:我叫android身高180CM



OK,以上希望对看帖的人有帮助。如有不对或需要补充的地方请指出。

 

本文转载处:Android中string.xml使用总结
http://www.cmd100.com/bbs/thread-193791-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值