美文网首页
Android 中 string.xml文件里面的特殊符号

Android 中 string.xml文件里面的特殊符号

作者: 风也醉 | 来源:发表于2019-07-21 06:28 被阅读0次

    Android的string.xml中经常会有类似这样的代码,%1$s ,它是什么意思呢?

    一般在TextView中想要动态的显示某些值,用到%1$s,%1$d,表示:

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

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

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

    %d   (表示整数)、    %f    (表示浮点数)、     %s   (表示字符串) 中间的n$m是固定格式,m可以为空

    使用:

    1、整型,比如“小姐姐今年18岁了”,这个18是整型的。在string.xml中可以这样写,

    <string name="sister">小姐今年%1$d岁了</string>

    String ageFormat = getResources().getString(R.string.sister);  

    String ageFinal = String.format(ageFormat,18); 

    就会将%1$d替换为18; 

    %1$d表达的意思是整个name=”sister”中,第一个整型的替代。如果一个name中有两个需要替换的整型内容,则第二个写为:%2$d,以此类推

    2、string型,比如“我的名字叫张三,我喜欢篮球”;这里的“张三”和“篮球”都需要替换。 

    在string.xml中可以这样写,<string name="alert">我的名字叫%1$s,我喜欢%2$s</string>

     String alertFormat= getResources().getString(R.string.alert);     

    String alertFinal = String.format(alertFormat, "张三","篮球")

    总结:用法为%加d或者 f或者 s,具体看需要,%和d(或者 f 或者 s)之间放n$m ,其中n表示第几个参数,m表示不一样,当%后面加的是 d(整数)和s(字符串)时候,m代表输出参数前面的空格,比如上面示例的“张三”“篮球”都是参数,如果需要在他们之前加空格就写m,一般设置a个空格,m就填写a+2 ,比如设置两个空格m就写4 ;%后加的是f时候,m表示的是小数点个数,比如三个小数m就填写3.3

    相关文章

      网友评论

          本文标题:Android 中 string.xml文件里面的特殊符号

          本文链接:https://www.haomeiwen.com/subject/pbfplctx.html