Android中string.xml中%1$s、%1$d等的用法

简介: 在 TextView 中想要动态的显示某些值,用到%1$s,%1$d,先介绍一下:感觉有点像正则,But....dingdang.jpg还是直接来吧%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空...

TextView </font>中想要动态的显示某些值,用到%1$s,%1$d,先介绍一下:

感觉有点像正则,But....

img_af7d3e93f8290c0954744d9ee36f6e41.jpe
dingdang.jpg

还是直接来吧

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=4.5时,输出格式为00.00

Test

  1. <string name="loading">离下班回家还剩%1$s分钟</string>
    ...
    String temp = getResources().getString(R.string.loading);
    String timeTip = String.format(temp,38);
    结果:离下班回家还剩38分钟
  1. <string name="loading">离下班回家还剩%1$3s分钟</string>
    ...
    String temp = getResources().getString(R.string.loading);
    String timeTip = String.format(temp,38);
    结果:离下班回家还剩 38分钟
    注:m设置为3只有1个空格
  1. <string name="loading">离下班回家还剩%1$3s分钟</string>
    ...
    String temp = getResources().getString(R.string.loading);
    String timeTip = String.format(temp,38);
    结果:离下班回家还剩 38分钟
    注:m设置为10,有8个空格
  1. <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.samson.test/com.samson.test.TestActivity}: java.util.FormatFlagsConversionMismatchException: %s does not support '#'
    注:%s不支持设置#
  1. <string name="loading">离下班回家还剩%1$4d分钟</string>
    ...
    String temp = getResources().getString(R.string.loading);
    String timeTip = String.format(temp,38);
    结果:离下班回家还剩 38分钟
    注:m设置为4,有2个空格

6.<string name="loading">离下班回家还剩%1$3.3f分钟</string>
...
String temp = getResources().getString(R.string.loading);
String timeTip = String.format(temp,123321.1234567);
结果:离下班回家还剩123321.123分钟
注:m设置为3.3,小数位只取3位

目录
相关文章
|
27天前
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
75 12
|
1月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
30 1
|
2月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
17 1
|
2月前
|
存储 Java 数据库
基于全志H713 Android 11:给TvSettings添加default.xml默认值
本文介绍了在全志H713 Android 11平台上为TvSettings应用添加HDMI CEC功能的默认设置值的方法,通过修改SettingsProvider的源码和配置文件来实现默认值的设置,并提供了详细的步骤和测试结果。
41 0
基于全志H713 Android 11:给TvSettings添加default.xml默认值
|
2月前
|
Unix Linux
文本匹配.grep与Select-String用法对比
文本匹配.grep与Select-String用法对比
52 6
|
2月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
153 1
|
2月前
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
90 12
|
2月前
|
Shell Android开发
安卓scheme_url调端:在AndroidManifest.xml 中如何配置 Intent-filter?
为了使Android应用响应vivo和oppo浏览器的Deep Link或自定义scheme调用,需在`AndroidManifest.xml`中配置`intent-filter`。定义启动的Activity及其支持的scheme和host,并确保Activity可由外部应用启动。示例展示了如何配置HTTP/HTTPS及自定义scheme,以及如何通过浏览器和adb命令进行测试,确保配置正确无误。
|
3月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
29 4
|
4月前
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
54 6
下一篇
无影云桌面