我正在编写一个应用程序,它需要在用户需要时更改应用程序的语言.不同语言的数据存储在数据库中,从中提取数据并更新UI.如果设备不支持特定的语言字体,我想要做什么.任何帮助将不胜感激.谢谢._/| _
我不太了解这个,但......
例如,如果您希望您的应用程序同时支持英语和法语字符串(除了默认字符串),您可以简单地创建两个额外的资源目录/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>
Run Code Online (Sandbox Code Playgroud)
而/res/values-fr/strings.xml文件看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Bonjour en Français!</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
/ res/layout目录中显示字符串的默认布局文件通过变量name @ 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>
Run Code Online (Sandbox Code Playgroud)
以正常方式以编程方式访问该字符串:
String str = getString(R.string.hello);
Run Code Online (Sandbox Code Playgroud)
就这么简单.
更多你会在这里找到
| 归档时间: |
|
| 查看次数: |
6676 次 |
| 最近记录: |