日期格式化
String.format("%d-%d-%d", mYear, mMonth, mDay))
普通格式化
String param = "{\"offset\": \"%d\",\"limit\": \"%d\",\"anchorid\": \"%d\"}";
String.format(param, offset, limit, anchorid)
android中TextView与Html结合使用实现字体和颜色的不同,并且换行
String llVip = String.format("<font color=\"#1e1e1e\">%s</font><br><font color=\"#ff5475\">%s</font> ", "会员", "(剩" + l1 + "天)");
binding.tvMeVip.setText(Html.fromHtml(llVip));
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:替换的是浮点数,n是第几个参数,m在浮点类型之前设置几个空格 比如m=20.2表示在浮点类型之前设置20个空格,浮点类型保留2位小数
这种写法,非常适用于一些需要动态替换数据进行显示的功能
- 先在 values-strings 中定义好要进行替换的值
<string name="person">我叫%1$s,现在生活在%2$2s</string>
<string name="count">我今天吃了%1$4d个苹果</string>
<string name="money">我今天花了%1$5.2f元</string>
首先,person 是字符串类型值输出,有两个值要进行替换,分别用 %1 和 %2 进行参数标注。并且,参数2的值前有两个空格。
count 是整数型输出,替换一个值,前面有4个空格。
money 是浮点型输出,替换一个值,前面有5个空格,并且值保留两位小数
mString.setText(String.format(getString(R.string.person), "蔫佳", "北京"));
mNum.setText(String.format(getString(R.string.count),3));
mFloat.setText(String.format(getString(R.string.money), 201.1735));
运行结果:
我叫蔫佳,现在生活在 北京
我今天吃了 3个苹果
我今天花了 201.17元