Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的语言
原文地址 : http://android.xsoftlab.net/training/basics/supporting-devices/index.html
支持不同的設(shè)備
在世界上,Android設(shè)備以很多種形狀和尺寸呈現(xiàn)。正因為有這么多種設(shè)備,你的應(yīng)用有機會被巨多的用戶所使用。為了在Android上盡可能的成功,你的應(yīng)用需要適配花樣繁多的設(shè)備配置。一些重要的點就是你應(yīng)該考慮包含不同的語言、適配各種屏幕尺寸密度、各種各樣的Andorid平臺版本。
這節(jié)課將會教你如何利用可替代資源和其它特性等最基本的平臺特性完成適配,這樣你的APP才可以只用一個APK就可以在花樣繁多的Android設(shè)備上提供極佳的用戶體驗。
支持不同的語言
這對于在APP的代碼中使用R.string.xx這種字符串資源并將它們放入一個額外的文件中來說是最好的練習。Android使得每一個Android工程管理這種資源很輕松。
如果你使用的是Android SDK Tools創(chuàng)建的工程,那么在工程的res/目錄下有很多種類的資源類型。這里有一些默認的文件比如res/values/string.xml便是存放字符串資源的地方。
創(chuàng)建本地語言目錄和字符串文件
為了支持更多的語言,在res/目錄下創(chuàng)建一個包含values,連接符,國際標準化組織語言編碼作為名稱的目錄,舉個例子,values-es/是一個包含了以es編碼的本地語言的簡單資源目錄。Android會在設(shè)備運行的時候讀取本地語言設(shè)置從而加載合適的本地語言。更多信息請參見:Providing Alternative Resources.
如果決定了將要支持哪種語言,只需要創(chuàng)建一個資源目錄和一個字符串資源文件:
MyProject/res/values/strings.xmlvalues-es/strings.xmlvalues-fr/strings.xml在合適的文件中為每一個本地語言添加字符串值。
在運行時,Android系統(tǒng)會基于用戶的設(shè)備設(shè)置來選擇適合的字符串資源。
下面是一些不同語言所對應(yīng)的字符串資源文件:
English (default locale), /values/strings.xml:
Spanish, /values-es/strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources><string name="title">Mi Aplicación</string><string name="hello_world">Hola Mundo!</string> </resources>French, /values-fr/strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources><string name="title">Mon Application</string><string name="hello_world">Bonjour le monde !</string> </resources>Note:你可以對任何資源類型使用這種本地限定詞,比如如果你只想將位圖圖像提供給局部的版本就可以這么做。更多信息請參見:Localization.
使用字符串資源
你可以在源碼或者XML文件中引用這些字符串資源,字符串資源名稱通過在文件中定義的< string>元素的name屬性定義。
在代碼中,可以通過語句R.string.< string_name>引用字符串資源。下面是可接受字符串資源的一些方法:
// 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/< string_name>引用字符串資源,下面是如何在XML使用字符串值:
<TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" />總結(jié)
以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:支持不同的设备之支持不同的语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12.20今日头条实习面试总结-算法工程
- 下一篇: Android官方开发文档Trainin