TextView中动态显示某些值
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中动态显示某些值相关推荐
- 16_Android生命周期再介绍,通过androidconfigChanges属性让界面旋转时不改变状态中保留的值
A android:configChanges属性 对android:configChanges属性,一般认为有以下几点: 1 不设置Activity的android:configChange ...
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及 ...
- android TextView中文字通过SpannableString设置属性
2019独角兽企业重金招聘Python工程师标准>>> 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么 ...
- 关于TextView中修改部分字体颜色、大小方法的总结
TextView属性描述 属性名称 描述 android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/e ...
- Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?
前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...
- TextView 中文本内容换行
一.实现TextView中文本换行 1.在res/valus/string.xml 中定义字符串,字符串中添加\n就可以实现换行. 2.解析来自服务端的xml文件,出现在xml文件中含有\n的文本, ...
- Vue中动态显示表格内容
Vue中动态显示表格内容 在项目中,我们可能会用到表格来显示不同的数据,表格显示数据,无非是列的内容不同,所以,我们可以考虑封装个公共的表格组件,动态得显示不同的数据 实现截图如下: 1.首先在项目中 ...
- 给TextView中的部分文本添加链接的两种方式
方式一:在布局文件中给TextView制定autoLink属性,例如: <TextView android:id="@+id/tv2"android:layout_width ...
- antd4.x版本解决父组件传递给子组件值的时候动态显示initialValue值的问题
antd4.x版本解决父组件传递给子组件值的时候动态显示initialValue值的问题 例如,我要从父组件给子组件传递一个字符串,然后子组件显示出来,按照3.x的版本的写法无法更新显示,这是因为in ...
- 两个下拉框相关联ajax,触发第二个下拉框以显示基于从第一个下拉框中选择的值的值ajax...
我有两个引导程序下拉框.当我们点击另一个下拉菜单时,其中一个会根据用户选择的国家显示来自数据库的所有国家名称,另一个下拉菜单应该选择状态. 当我点击一个下拉菜单时,我做了一个ajax请求来显示国家名称 ...
最新文章
- 软件测试中性能瓶颈是什么,性能测试中如何定位性能瓶颈
- 4.4 为什么使用深层表示-深度学习-Stanford吴恩达教授
- 查看Linux 下某个程序的内存情况
- QT学习笔记(2)----- QT安装教程
- LeetCode 496. 下一个更大元素 I(哈希)
- c位边上还有什么位_c位是什么意思?C位说法的由来是什么?c位旁边二个位置叫什么?...
- 76.Nodejs Express目录结构
- SQL数据库引擎服务SQL Server启动参数概述
- treeset 是有序吗_TreeSet如何实现有序?
- 网易云解析接口PHP源码,网易云音乐直链解析API源代码^-^
- 测试家里网速用什么软件,怎么测试网速,测试网速用什么软件
- mysql 登录失败18456_sql server 用户'sa'登录失败(错误18456)
- 数字孪生可视化管理平台的意义
- js 获取当前与一个月前的日期
- linux命令日志抓取,linux抓取某条日志记录的命令
- 页面自动获取导入excel内容
- vscode 代码格式化及快捷键
- 如何爬一个网站的数据-免费爬取网站的任意数据软件
- Ext js 4 全选和反选
- 大前端养成之路:学一点MongoDB(一)