android xml字符串通配

1.基本使用方法
xml中定义如下字符串:
<string name="buff">%1$d --- %2$s</string>
代码中解析:
String buf = getString(R.string.buff);
buf = String.format(buf, 222, "aa");

说明:%n表示format传入的第n个参数,索引从0开始,如:%1表示第一个,%2表示第2个.
%2可以在%1前面,如下定义也是可以的:
<string name="buff">%2$s --- %1$d</string>

2.属性值
%n$[m]s:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格.
%n$[m]d:代表输出的是整数,n代表是第几个参数,m 的值表示最小占用多个字符位,不足时填充空格,也可以设为 0m,在输出之前放置 m 个 0.
%n$[m.k]f:代表输出的是浮点数,n代表是第几个参数,m 的值表示整个浮点数最少占用多少个字符位,不足时前面填充空格, k 表示小数最多占用多少位,
如设置为8.2时,对数字5.02365894, 输出格式为 5.02,数字总共8个字符,前面有4个字符

3.异常
对于指定的属性格式,必须填入对应的类型,否则会抛出IllegalFormatConversionException异常.

4.对%2$s等等字符最好手动输入,否则可能看上去正确的语句,会报下面的错误
error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?

时间: 2024-08-27 20:58:15

android xml字符串通配的相关文章

Android xml 格式 随笔

打包的时候Android xml文件会由字符格式(utf-8编码)转换为二进制格式.具体如:http://blog.csdn.net/jiangwei0910410003/article/details/50568487 它有android sdk 提供的打包工具aapt 生成二进制文件,类似class格式,前面4个字节为魔数,表示文件格式. 这些XML资源文件之所要从文本格式编译成二进制格式,是因为:1. 二进制格式的XML文件占用空间更小(这个地方不一定,比如原来的文件是用utf-8编码一个

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

Android - 抑制lint的Android XML的警告:tools:ignore

抑制lint的Android XML的警告:tools:ignore 本文地址:http://blog.csdn.net/caroline_wendy Android的XML经常会出现警告,对于一个良好的程序,应该认真对待所有的警告. 除非我们可以确认警告,才可以排除. 显示所有警告的方法:Analyze -> Inspect Code; 就可以检查出所有的警告: 抑制警告使用: tools:ignore. // 忽略全部 xmlns:tools="http://schemas.andro

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*

【Android XML】Android XML 转 Java Code 系列

最近在公司做一个项目,需要把Android界面打包进jar包给客户使用.对绝大部分开发者来说,Android界面的布局以XML文件为主,并辅以少量Java代码进行动态调整.而打包进jar包的代码,意味着无法通过常规的getResources(),getString()等方法来快速的获取资源,因为这些资源都是在apk安装的时候初始化生成的.为了满足客户的需求,笔者开始在网上寻找各种解决方案.结果如下: 1.apk 主体包方案 实现方法:安装一个新的apk,新apk和主apk使用android:sh

[Android]XML那些事儿-manifest属性2

/////////////////////////////application///////////////////////////////////// 1. hardwareAccelerated属性 在你的Android Manifest文件中添加 <application> 属性标记,以便为整个应用程序使用硬件加速.      <application android:hardwareAccelerated="true" ...> 具体参考资料:Andr

[Android]XML那些事儿-manifest属性1

在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置. android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示: <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="string&q

Android xml 解析

XML 常用的三种解析方式: DOM: 全部加载到内存,生成一个树状结构,占用内存比较大. SAJ: 采用事件驱动,速度快,效率高,不支持回退. PULL:也是采用事件驱动,语法简洁. 步骤: 1. 创建XML 解析器:XmlPullParser parser = Xml.newPullParser(); 2. 配置解析器:parser.setInput(is, "utf-8");// 参数为 xml 文件输入流 和 编码方式. 3. 根据事件进行解析. int type = pars

Android Xml解析之DOM详细攻略

参考地址:http://wenku.baidu.com/view/aca83d12cc7931b765ce15d1.html 由于dom方式是保存于内存中,比较耗内存,不过对于一些数据量比较小但又比较常用的隐秘信息,可以用此方法 People类是自己写的一个类,主要保存各个字符串数据. 1.为了具有扩展性 自己编了一个xml文件: <?xml version="1.0" encoding="utf-8"?> <peoples> <peo