Android資源的使用之String

來源:互聯網
上載者:User

Android允許定義多個字串資源檔在res/values 中

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World!</string>    <string name="app_name">App Name</string></resources>

當在此建立或修改資源檔時,ADT都會自動更新R.java ,併產生唯一的標識符來標識,如:

public static final class string {public static final int app_name=0x7f040004;public static final int hello=0x7f040003;}

在程式中使用資源就可以用R.string.hello來標識字串了,並可用Activity中的getText(R.string.hello)直接轉成字串

特殊格式字串 

代碼

<resources> 
    <string name="java_format_string"> 
           hello %2$s java format string. %1$s again 
     </string> 
     <string name="tagged_string"> 
         Hello <b><i>Slanted Android</i></b>, You are bold. 
     </string> 
</resources> 

 

這裡的特殊格式字串指的是帶參數的格式字串,及帶有HTML標籤的字串。

讀取操作可以這樣

 

代碼

//Read a Java format string 
String javaFormatString = activity.getString(R.string.java_format_string); 
//Convert the formatted string by passing in arguments 
String substitutedString = String.format(javaFormatString, "Hello" , "Android")
//set the output in a text view 
textView.setText(substitutedString); 
 
//Read an html string from the resource and set it in a text view 
String htmlTaggedString = activity.getString(R.string.tagged_string); 
//Convert it to a text span so that it can be set in a text view 
//android.text.Html class allows painting of "html" strings 
//This is strictly an Android class and does not support all html tags 
Spanned textSpan = android.text.Html.fromHtml(htmlTaggedString); 
//Set it in a text view 
textView.setText(textSpan); 

 

 

支援多國語言

要讓應用程式支援多個語言介面,並不需要重新定義介面。只需要添加一個語言資來源目錄放置相應的字串資源檔 如:res/values-en 表示英文字串 ,res/values-zh-rCN表示簡體中文 res/values-zh-rTW表示繁體中文。

進入“設定”程式,選擇“地區和文本”,可以選擇對應的語言測試。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.