我正在编写一个应用程序,它需要在用户需要时更改应用程序的语言。不同语言的数据存储在数据库中,从中提取数据并更新UI。如果设备不支持特定的语言字体,我想要做什么。任何帮助将不胜感激。谢谢。 _ / | _
答案 0 :(得分: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操作系统决定使用哪个版本 在运行时加载的字符串(法语,英语或默认值)。具有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