日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 一、實(shí)現(xiàn)效果:最近在項(xiàng)目中需要做類(lèi)似于上圖顯示的效果,里面的數(shù)字和稱謂是動(dòng)態(tài)獲取的,對(duì)于這種顯示效果,有如下兩種解決方案來(lái)處理:(1)通過(guò)代碼動(dòng)態(tài)設(shè)置TextView的內(nèi)

 一、實(shí)現(xiàn)效果:

最近在項(xiàng)目中需要做類(lèi)似于上圖顯示的效果,里面的數(shù)字和稱謂是動(dòng)態(tài)獲取的,對(duì)于這種顯示效果,有如下兩種解決方案來(lái)處理:

(1)通過(guò)代碼動(dòng)態(tài)設(shè)置TextView的內(nèi)容,比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
     * 顯示今日狀態(tài)
     *
     * */
    private void showTodayState( int totalUser, float upRate, String hornor, char level ){
        StringBuilder todayStateStr = new StringBuilder( );
        todayStateStr.append( 您正與 );
        todayStateStr.append( totalUser );
        todayStateStr.append( 位朋友在一起游戲,本周排名提升了 );
        todayStateStr.append( upRate );
        todayStateStr.append( ,獲得 );
        todayStateStr.append( hornor );
        todayStateStr.append( 的稱號(hào),等級(jí)為 );
        todayStateStr.append( level );
        todayStateStr.append( ! );
         
        mTodayStateTxt.setText( todayStateStr );
    }

然后調(diào)用該方法:

1
showTodayState( 1234567, 68.376f, 爆頭大師, ‘B‘ );

(2)在string.xml文件中定義一個(gè)字符串,然后在代碼中通過(guò)String.format方法來(lái)格式化該字符串,比如:

1
<string name="today_state_string">您正與%1$d位朋友在一起游戲,本周排名提升了%2$.3f,獲得%3$s的稱號(hào),等級(jí)為%4$c!</string>

在代碼中做如下定義:

1
2
3
4
5
6
7
8
/**
     * 顯示今日狀態(tài)
     *
     * */
    private void showTodayState( int totalUser, float upRate, String hornor, char level ){
        String todayStateStr = String.format( getResources( ).getString( R.string.today_state_string), totalUser, upRate, hornor, level );
        mTodayStateTxt.setText( todayStateStr );
    }

本文介紹第二種處理方式,因?yàn)轱@然第二種處理方式更方便,特別是需要?jiǎng)討B(tài)改變多個(gè)顯示狀態(tài)的時(shí)候。

二、字符串資源格式化詳細(xì)介紹:

1
<string name="today_state_string">您正與%1$d位朋友在一起游戲,本周排名提升了%2$.3f,獲得%3$s的稱號(hào),等級(jí)為%4$c!</string>

從上面這行字符串的定義可以看出,格式化字符串資源的格式為:

%+參數(shù)位置+$+格式化類(lèi)型,其中:

參 數(shù) 位 置:從1開(kāi)始依次編號(hào),String.forma方法的第二個(gè)參數(shù)為格式化的第一個(gè)參數(shù),后面依次遞增;

格式化類(lèi)型:

s 字符串

f 浮點(diǎn)數(shù)

d 整型數(shù)

c 字符類(lèi)型

其實(shí)懂點(diǎn)C語(yǔ)言的朋友一看就知道和printf的打印輸出格式化差不多。

三、注意事項(xiàng):

1、在string.xml文件中定義好格式化的字符串資源,通過(guò)代碼動(dòng)態(tài)設(shè)置字符串內(nèi)容時(shí),必須確保String.format方法里面的參數(shù)不少于字符串資源中定義的格式化參數(shù)個(gè)數(shù)(實(shí)踐證明多了參數(shù)是不會(huì)報(bào)異常的),比如在上面的例子中字符串有四個(gè)格式化參數(shù),如果代碼寫(xiě)成這樣:

1
showTodayState( int totalUser, float upRate, String hornor )//少了level參數(shù)

則會(huì)報(bào)如下異常:

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉