天天看點

Android官方開發文檔Training系列課程中文版:支援不同的裝置之支援不同的語言支援不同的語言

在世界上,Android裝置以很多種形狀和尺寸呈現。正因為有這麼多種裝置,你的應用有機會被巨多的使用者所使用。為了在Android上盡可能的成功,你的應用需要适配花樣繁多的裝置配置。一些重要的點就是你應該考慮包含不同的語言、适配各種螢幕尺寸密度、各種各樣的Andorid平台版本。

這節課将會教你如何利用可替代資源和其它特性等最基本的平台特性完成适配,這樣你的APP才可以隻用一個APK就可以在花樣繁多的Android裝置上提供極佳的使用者體驗。

這對于在APP的代碼中使用R.string.xx這種字元串資源并将它們放入一個額外的檔案中來說是最好的練習。Android使得每一個Android工程管理這種資源很輕松。

如果你使用的是Android SDK Tools建立的工程,那麼在工程的res/目錄下有很多種類的資源類型。這裡有一些預設的檔案比如res/values/string.xml便是存放字元串資源的地方。

如果決定了将要支援哪種語言,隻需要建立一個資源目錄和一個字元串資源檔案:

在合适的檔案中為每一個本地語言添加字元串值。

在運作時,Android系統會基于使用者的裝置設定來選擇适合的字元串資源。

下面是一些不同語言所對應的字元串資源檔案:

English (default locale), /values/strings.xml:

Spanish, /values-es/strings.xml:

French, /values-fr/strings.xml:

你可以在源碼或者XML檔案中引用這些字元串資源,字元串資源名稱通過在檔案中定義的< string>元素的name屬性定義。

在代碼中,可以通過語句R.string.< string_name>引用字元串資源。下面是可接受字元串資源的一些方法:

在其它的XML檔案中,可以通過語句@string/< string_name>引用字元串資源,下面是如何在XML使用字元串值: