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表示省略号

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

使用textView.setText(Html.fromHtml("Hello <b>World</b>,<font size=\"3\" color=\"red\">AnalysisXmlActivty!</font>"));

设置类似于html那样的效果





更多相关文章

  1. Android(安卓)资源详解(一) 颜色、字符串、位图资源
  2. C++项目RapidJson的详细用法总结
  3. android将图片转成字符串,再将字符串转成图片
  4. 初学Android,字符串,数字,尺寸,数组资源(十二)
  5. Drawable资源——Transition Drawable
  6. Android中资源文件中的字符串数组string-array
  7. Android培训---支持不同的语言
  8. Android(安卓)ListView不同的item布局实现
  9. Android编程入门-第1天

随机推荐

  1. Android学习系列(19)--App离线下载
  2. Android图表绘制
  3. Android(安卓)Toolbar控件
  4. 基于ndk-r21b编译ffmpeg-4.3.1
  5. Android应用之PopupWindow显示位置详解
  6. 关于Android线程池
  7. Android控件之AutoCompleteTextView(自动
  8. Android(安卓)程式开发:(十)基本控件 —— 1
  9. [Android(安卓)NDK]添加C++11和C++14支持
  10. Android(安卓)API Demo实例解析