Android String 值动态替换
2017-11-21 22:39
369 查看
今天在项目中看到同事在
觉得有点奇怪,在代码中看到引用它是显示倒计时秒数的。
不明觉厉。
于是上网查了一下资料,了解了
先上结论:
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:替换的是浮点数,n是第几个参数,m在浮点类型之前设置几个空格 比如m=20.2表示在浮点类型之前设置20个空格,浮点类型保留2位小数
这种写法,非常适用于一些需要动态替换数据进行显示的功能。
然后看一下代码:
我定义了三个 string 值,三种类型都演示到。
首先,
再给 Textview 赋值:
OK了,这样就已经好了。
看一下结果:
values-strings中定义了一个
<string name="v_seconds">(%1$s秒)</string>
觉得有点奇怪,在代码中看到引用它是显示倒计时秒数的。
不明觉厉。
于是上网查了一下资料,了解了
%n$ms
%n$md
%n$mf的用法。
先上结论:
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:替换的是浮点数,n是第几个参数,m在浮点类型之前设置几个空格 比如m=20.2表示在浮点类型之前设置20个空格,浮点类型保留2位小数
这种写法,非常适用于一些需要动态替换数据进行显示的功能。
然后看一下代码:
1. 先在 values-strings 中定义好要进行替换的值
<string name="person">我叫%1$s,现在生活在%2$2s</string> <string name="count">我今天吃了%1$4d个苹果</string> <string name="money">我今天花了%1$15.2f元</string>
我定义了三个 string 值,三种类型都演示到。
首先,
person是字符串类型值输出,有两个值要进行替换,分别用
%1和
%2进行参数标注。并且,参数2的值前有两个空格。
count是整数型输出,替换一个值,前面有4个空格。
money是浮点型输出,替换一个值,前面有四个空格,并且值保留两位小数。
2. 代码中引用
先定义三个 Textview:private TextView mTvString; private TextView mTvNum; private TextView mTvFloat;
再给 Textview 赋值:
mTvString = (TextView) findViewByI 4000 d(R.id.tv_String); mTvString.setText(String.format(getString(R.string.person), "蔫巴登", "沈阳")); mTvNum = (TextView) findViewById(R.id.tv_num); mTvNum.setText(String.format(getString(R.string.count), 3)); mTvFloat = (TextView) findViewById(R.id.tv_float); mTvFloat.setText(String.format(getString(R.string.money), 195.1255));
OK了,这样就已经好了。
看一下结果:
参考:
android中string.xml中%1s、%1d等的用法相关文章推荐
- Android String.xml 动态替换文本
- Android 中动态替换string.xml的值
- Android中string.xml中的替换
- android 动态string
- 从Instant run谈Android替换Application和动态加载机制
- 动态字符串%d %s ------android String
- [Android疑难杂症]动态替换Fragment全屏的问题
- 【String.xml】修改Android中strings.xml文件, 动态改变数据
- %1$s %1$d Android string 替换字符串中个别字符
- 动态替换AndroidManifest中的数值
- Android中动态改变string.xml中的字符串
- 从Instant run谈Android替换Application和动态加载机制
- Android:格式化占位符 动态修改string.xml文件的值
- Android-----Fragment动态添加和替换
- android textview改变部分文字的颜色和string.xml中文字的替换
- Android textview改变部分文字的颜色和string.xml中文字的替换
- %1$s %1$d Android string 方便的动态改变string的值
- android textview改变部分文字的颜色和string.xml中文字的替换(转)
- android 替换string.xml中文字的方法
- android 字符串string资源的动态处理