首页 > 程序开发 > 移动开发 > Android >

开发手记--android布局用占位符%1$s

2017-06-19

开发手记--android布局用占位符%1$s,在开发中,如果遇到如下listview的item布局。

开发手记--android布局用占位符%1$s,在开发中,如果遇到如下listview的item布局。

,以前总是把“物料名称:”作为一个TextView,后面具体值作为一个TextView。这样做使得布局变得很繁琐。后来发现可以使用占位符%1$s使其变成一个TextView,使得布局变得简单。

在strings.xml中定义物料名称:%1$s

在布局TextView中引入 android:id="@+id/tv_material_name"

style="@style/text_delivery_order"

android:text="@string/material_name"

/>

Java代码中

tv_material_name.setText(String.format(getResources().getString(R.string.material_name),"食用油"));

下面是封装的其方法:

private String stringFromat(int sId,String str) {

if(sId == 0 || str == null)

return null;

return String.format(getResources().getString(sId),str);

}

tv_material_name.setText(stringFromat(R.string.material_name,"食用油"));

还可以添加多个占位符我叫:%1$s,我来自%2$s,我做%3$s工作

.setText(String.format(getResources().getString(R.string.my),"小明","北京","程序员");

常用的有:

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格

%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格

%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00

(注:m放置空格,并不代表m是几,就是几个空格,具体看实际效果)

相关文章
最新文章
热点推荐