您的位置:首页 > 移动开发 > Android开发

Android中string.xml,动态改变数据方法

2015-12-15 15:50 393 查看
Android中的string.xml文件是支持占位符的,可以动态改变数据。

例如:

<span style="font-size:14px;"><string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$s</string></span>


在程序中我们可以直接调用

<span style="font-size:14px;">String text = context.getString(R.string.data, 10, 10.5,“sss”);</span>


最后运行输出的结果就为:

整数型:10,浮点型:10.50,字符串:sss

如果你需要使用 String.format(String, Object...) 来格式化你的字符串,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:
<span style="font-size:14px;">Resources res = getResources();
String text = String.format(res.getString(R.string.data),10,10.5,"sss");</span>


分析:

其中%后面指的是占位符的位置,1表示第一位,2表示第二位。

$后面的字母/数字表示的是数据的类型。

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

f:表示浮点型(f前面的x.x表示小数点前后的位数。2.2即输出格式为00.00)

s:表示字符串

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

法1.用%%来表示1个%,和转意符号 \ 的用法相同
法2.如果你的字符串不需要格式化,可以在你的<string 标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可

如果需要有多个需要替换的变量,可以在xml定义如下标签

<span style="font-size:14px;"><string name="data">
整数型:
<xliff:g id="name1">%1$d</xliff:g>
,浮点型:
<xliff:g id="name2">%2$.2f</xliff:g>
,字符串:
<xliff:g id="name2">%3$s</xliff:g>
</string></span>


但是要注意一点

需要再string.xml文件里添加xmlns

<span style="font-size:14px;"><resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
</span>


另附:

<b></b>加粗字体
<i></i> 斜体字体
<u></u> 给字体加下划线
\n 换行
\u0020表示空格
\u2026表示省略号
使用<b>和<b>来打印出<b></b> 这样的文字;“<”表示“<”的意思;
使用textView.setText(Html.fromHtml("Hello <b>World</b>,<font size=\"3\" color=\"red\">AnalysisXmlActivty!</font>"));
设置类似于html那样的效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: