%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=4.5时,输出格式为00.00
strings资源中定义
<string name="str_uid_format_en">ID:%1$s</string>
代码中使用
strangerView?.findViewById<TextView>(R.id.tv_id)?.apply {
text =
(String.format(resources.getString(R.string.str_uid_format_en), it.accountId))
}
效果图
另外也可以和<![CDATA[ ]]>标签连用
<resources>
<string name="app_name">KotlinTest</string>
<string name="name">赵云<Data><![CDATA[<font color="#ff0000"> %0$3s</font>]]></Data></string>
</resources>
代码中使用
findViewById<TextView>(R.id.tvAAA).apply {
text = HtmlCompat.fromHtml(String.format(resources.getString(R.string.name),"五虎将"),HtmlCompat.FROM_HTML_MODE_LEGACY)
}
注dataBinding中如何实例化ViewStub
var strangerView = mDataBind.vsStrangerCard.viewStub?.let { it.inflate() }