TextView中动态显示某些值

前言:在某些场景下我们希望TextView通过引用string中的资源,但是某些值,如金额,性别等是随着场景的变化而变化的。在这种情况下,你就需要用到占位符%1$s%1$d了。下文是转载“弘文馆校书”的博客。原文博客地址:http://www.cnblogs.com/Eric-zhao/p/5230007.html。

在TextView中想要动态的显示某些值,用到%1$s%1$d,先介绍一下:
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 ;
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格;
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 。
下面测试一下

1、

<string name="loading">离配置结束还剩%1$s秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,60);
结果:离配置结束还剩60秒

2、

<string name="loading">离配置结束还剩%1$3s秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,60);
结果:离配置结束还剩 60秒
注:m设置为3只有1个空格

3、

<string name="loading">离配置结束还剩%1$3s秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,60);
结果:离配置结束还剩 60秒
注:m设置为10,有8个空格

4、

<string name="loading">离配置结束还剩%1$#4s秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,60);
结果:app崩溃,抛出异常信息:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.stringtest/com.example.stringtest.MainActivity}: java.util.FormatFlagsConversionMismatchException: %s does not support ‘#’
注:%s不支持设置#

5、

<string name="loading">离配置结束还剩%1$4d秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,60);
结果:离配置结束还剩 60秒
注:m设置为4,有2个空格

6、

<string name="loading">离配置结束还剩%1$3.3f秒</string>

String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,123456.123456);
结果:离配置结束还剩123456.123秒
注:m设置为3.3,小数位只取3位

TextView中动态显示某些值相关推荐

  1. 16_Android生命周期再介绍,通过androidconfigChanges属性让界面旋转时不改变状态中保留的值

     A  android:configChanges属性 对android:configChanges属性,一般认为有以下几点: 1 不设置Activity的android:configChange ...

  2. Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性

    在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及 ...

  3. android TextView中文字通过SpannableString设置属性

    2019独角兽企业重金招聘Python工程师标准>>> 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么 ...

  4. 关于TextView中修改部分字体颜色、大小方法的总结

    TextView属性描述 属性名称    描述 android:autoLink    设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/e ...

  5. Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?

    前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...

  6. TextView 中文本内容换行

    一.实现TextView中文本换行 1.在res/valus/string.xml  中定义字符串,字符串中添加\n就可以实现换行. 2.解析来自服务端的xml文件,出现在xml文件中含有\n的文本, ...

  7. Vue中动态显示表格内容

    Vue中动态显示表格内容 在项目中,我们可能会用到表格来显示不同的数据,表格显示数据,无非是列的内容不同,所以,我们可以考虑封装个公共的表格组件,动态得显示不同的数据 实现截图如下: 1.首先在项目中 ...

  8. 给TextView中的部分文本添加链接的两种方式

    方式一:在布局文件中给TextView制定autoLink属性,例如: <TextView android:id="@+id/tv2"android:layout_width ...

  9. antd4.x版本解决父组件传递给子组件值的时候动态显示initialValue值的问题

    antd4.x版本解决父组件传递给子组件值的时候动态显示initialValue值的问题 例如,我要从父组件给子组件传递一个字符串,然后子组件显示出来,按照3.x的版本的写法无法更新显示,这是因为in ...

  10. 两个下拉框相关联ajax,触发第二个下拉框以显示基于从第一个下拉框中选择的值的值ajax...

    我有两个引导程序下拉框.当我们点击另一个下拉菜单时,其中一个会根据用户选择的国家显示来自数据库的所有国家名称,另一个下拉菜单应该选择状态. 当我点击一个下拉菜单时,我做了一个ajax请求来显示国家名称 ...

最新文章

  1. 软件测试中性能瓶颈是什么,性能测试中如何定位性能瓶颈
  2. 4.4 为什么使用深层表示-深度学习-Stanford吴恩达教授
  3. 查看Linux 下某个程序的内存情况
  4. QT学习笔记(2)----- QT安装教程
  5. LeetCode 496. 下一个更大元素 I(哈希)
  6. c位边上还有什么位_c位是什么意思?C位说法的由来是什么?c位旁边二个位置叫什么?...
  7. 76.Nodejs Express目录结构
  8. SQL数据库引擎服务SQL Server启动参数概述
  9. treeset 是有序吗_TreeSet如何实现有序?
  10. 网易云解析接口PHP源码,网易云音乐直链解析API源代码^-^
  11. 测试家里网速用什么软件,怎么测试网速,测试网速用什么软件
  12. mysql 登录失败18456_sql server 用户'sa'登录失败(错误18456)
  13. 数字孪生可视化管理平台的意义
  14. js 获取当前与一个月前的日期
  15. linux命令日志抓取,linux抓取某条日志记录的命令
  16. 页面自动获取导入excel内容
  17. vscode 代码格式化及快捷键
  18. 如何爬一个网站的数据-免费爬取网站的任意数据软件
  19. Ext js 4 全选和反选
  20. 大前端养成之路:学一点MongoDB(一)

热门文章

  1. Go 每日一库之 roaring
  2. Ubuntu 老版本下载
  3. IBM Tivoli Omegamon
  4. w7无法訪问计算机上硬盘分区,Win7/win10双系统无法打开磁盘分区提示拒绝访问怎么解决...
  5. 如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。
  6. 计算机面试专业英语词汇,英语面试中常用高频词汇
  7. JavaScript — DOM API
  8. Chat GPT原理
  9. iTunes 10 选择自定义IPSW
  10. Google Play安装应用一直在等待下载的解决方案