2011-05-28 67 views
1

如果需要在用戶需要時更改應用程序的語言,我正在編寫應用程序。不同語言的數據存儲在數據庫中,從中獲取數據並更新UI。我想如果設備不支持特定的語言字體,應該怎麼做。任何幫助將不勝感激。提前感謝。 _/| _在Android應用程序中更改語言

回答

5

我不知道更多關於這一點,但...

例如,如果你希望你的應用程序同時支持英語 和法國的字符串(除了默認的字符串), 你可以簡單地創建兩個額外的 資源目錄,稱爲/res/values-en(英文strings.xml)和 /res/values-fr(用於法文strings.xml)。

strings.xml文件中, 資源名稱相同。

例如,/res/values-en/strings.xml文件可能 是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="hello">Hello in English!</string> 
</resources> 

鑑於,/res/values-fr/strings.xml文件應該是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="hello">Bonjour en Français!</string> 
</resources> 

一顯示字符串的/ res/layout目錄中的默認佈局文件通過變量名@ string/hello引用 字符串,而不考慮字符串資源所在的語言或目錄 。

的Android操作系統確定字符串(法語,英語,或默認)在runtime.A佈局一個TextView控制 加載其中 版本顯示的字符串可能是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<TextView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:text="@string/hello" > 
</LinearLayout> 

該字符串以正常方式以編程方式訪問:

String str = getString(R.string.hello); 

就這麼簡單。

更多你會發現Here

相關問題