Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習路線(十七)支持不同設備——支持不同的語言

Android學習路線(十七)支持不同設備——支持不同的語言

編輯:關於Android編程

將UI中的字符串從應用代碼中提取出來並存放在額外的文件中是一個好習慣。Android在每個項目中通過一個資源目錄讓這件事變得很簡單。

如果你使用Android SDK工具創建了一個項目,這個工具會在你的項目的頂級目錄下創建一個 res/ 目錄。在這個目錄下有很多子目錄用來存放多種類型的資源。同樣有一些默認的文件,例如res/values/strings.xml,用來存放字符串。

創建區域目錄以及字符串文件


為了支持更多的語言,在res/目錄下創建附加的values目錄,文件名使用values加上連字符號再加上國際標准化語言碼。例如,values-es/ 目錄包含了語言碼為“es”的區域的簡單的資源文件。Android系統會根據設備運行時設置的區域設定來加載適當的資源文件。更多的信息,請參閱Providing Alternative Resources。

一旦你決定要支持這種語言,要為它創建相應的資源目錄以及字符串文件。例如:

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

為每個區域的文件添加字符串的值。

在運行時,Android系統會根據設備運行時設置的區域設定來加載適當的資源文件。

例如,下面是不同語言的不同資源文件。

English (默認區域), /values/strings.xml:



    My Application
    Hello World!

Spanish, /values-es/strings.xml:



    Mi Aplicación
    Hola Mundo!

French, /values-fr/strings.xml:



    Mon Application
    Bonjour le monde !

提示: 你可以為任何類型的資源使用區域限制(或者任何配置限制),例如如果你想要為不同的區域提供不同的bitmap drawable。更多信息,請參閱Localization。

使用字符串資源


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

在你的源代碼中,你可以使用R.string.的語法來引用一個字符串資源。

例如:

// Get a string resource from your app's Resources
String hello = getResources().getString(R.string.hello_world);

// Or supply a string resource to a method that requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);

在其他的XML文件中,你可以使用@string/ 語法來引用字符串資源。

例如:

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