Android

Android开发中string.xml文件中字符串的拼接

2017-05-28  本文已影响2449人  小心搬砖

第一种方法:
在string.xml中进行操作

<resources xmlns:tools="http://schemas.android.com/tools">
    <string name="app_name">MyStringDemo</string>
    <!--不加空格-->
    <string name="test">我今年<tools id="xxx">%1d</tools>岁了,上<tools id="xxx">%s</tools>年级!</string>
    <!--加空格-->
    <string name="test1">我今年<tools id="xxx">%1$3d</tools>岁了,上<tools id="xxx">%2$9s</tools>年级!</string>
</resources>

在代码中使用的地方只需要调用String类的format方法:

mTextView = (TextView) findViewById(R.id.text_);
     mTextView.setText(String.format(getResources().getString(R.string.test1),8,"二"));

输出的情况:
我今年8岁了,上二年级!
我今年 八岁了,上 二年级!
X%符号类的解释:
d%表示整数;
f%表示浮点型;
s%表示字符串类型
%1$3d表示String类格式化的第一个是整型,3个空格;
%2$9s表示string类格式化的第二个是字符串类型,9个空格;

第二种方法:
1.整型 :1%$d

 <string name="test2">我今年%1$5d岁了</string>
mTextView.setText(String.format(getResources().getString(R.string.test2),8));

2字符串类型:1%$s

    <string name="test3">我叫%1$s,来自%2$s</string>
        mTextView.setText(String.format(getResources().getString(R.string.test3),"张三","北京"));
图片.png

3.还有插入html格式

     <string name="test4"><![CDATA[<b>应付:</b> <font color=#F09B02>¥%1$.2f</font>]]></string>
        mTextView.setText(Html.fromHtml(String.format(getResources().getString(R.string.test4),23.444)));

    <string name="seller_order_good_summary"><![CDATA[
     共<font color=#f37214>%1$d</font>件,合计: <font color=#f37214>¥%2$.2f</font>
        ]]> </string>

实现的效果:

图片.png
上一篇 下一篇

猜你喜欢

热点阅读