Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 安卓訓練-開始-支持不同的設備-支持不同的語言

安卓訓練-開始-支持不同的設備-支持不同的語言

編輯:關於Android編程

支持不同的語言

上一課 下一課 這節課教你
  • 創建區域目錄和字符串資源
  • 使用字符串資源 你還需要閱讀
  • 本地化檢查表
  • 使用資源進行本地化

    從你的應用代碼中提取出 UI 字符串並保存到一個外部文件中始終是一種好的實踐方式。由於每個安卓工程都有一個資源目錄,能很方便地這樣做。

    如果你使用安卓 SDK 工具創建你的工程(參見創建安卓工程),工具會在工程的頂級目錄下創建res/ 目錄。res/目錄下是各種資源類型的子目錄。目錄下有一些默認文件,如保存字符串值的 res/values/strings.xml。

    創建區域目錄和字符串資源


    為了支持多種語言,需要在 res/ 目錄下創建額外的values 目錄,目錄名的尾部包含連字符和 ISO 國家代碼。例如,values-es/ 目錄包含語言代碼是 "es" 的區域的簡單資源。安卓在運行時根據設備的區域設置加載合適的資源。

    一旦你決定了要支持的語言,那就創建相應的資源子目錄和字符串資源文件。例如:

    MyProject/
        res/
           values/
               strings.xml
           values-es/
               strings.xml
           values-fr/
               strings.xml
    

    為每個區域在相應的文件中添加字符串值。

    在運行時,安卓系統會根據用戶設備的當前區域設置使用相應的字符串資源。

    例如,以下是一些不同語言的字符串資源文件。

    英語(默認區域) /values/strings.xml:

    
    
        My Application
        Hello World!
    

    西班牙語,/values-es/strings.xml:

    
    
        Mi Aplicación
        Hola Mundo!
    

    法語,/values-fr/strings.xml:

    
    
        Mon Application
        Bonjour le monde !
    

    注意:你可以對任何資源類型使用區域限定符(或者任何配置限定符),例如為你的可繪制的位圖提供區域化的版本。更多信息,參見 本地化.

    使用字符串資源


    你可以在源代碼或其他 XML 文件中使用 元素的name 屬性定義的資源名稱引用字符串資源。

    在你的源代碼中,你可以使用 R.string. 語法引用字符串資源。有許多方法以這種方式接收一個字符串資源。

    例如:

    // 從你的應用的 Resources 中取得一個字符串資源
    String hello = getResources().getString(R.string.hello_world);
    
    // 或者提供一個字符串資源給一個需要字符串的方法
    TextView textView = new TextView(this);
    textView.setText(R.string.hello_world);

    在其他 XML 文件中,任何時候 XML 屬性接受一個字符串,你都可以使用 @string/ 語法引用字符串資源。

    例如:

    上一課下一課
    1. 上一頁:
    2. 下一頁:
    熱門文章
    閱讀排行版
    Copyright © Android教程網 All Rights Reserved