【发布时间】:2012-01-11 17:01:08
【问题描述】:
我有一些针对不同语言环境的不同语言的 html 文件,所有这些 html 文件都包含图像。现在我想用 WebView 显示适合当前 Android 语言的 html 文件。我怎样才能做到这一点?谢谢。
【问题讨论】:
标签: android html image webview
我有一些针对不同语言环境的不同语言的 html 文件,所有这些 html 文件都包含图像。现在我想用 WebView 显示适合当前 Android 语言的 html 文件。我怎样才能做到这一点?谢谢。
【问题讨论】:
标签: android html image webview
您可以为非英语文件指定特殊名称,例如德语的file-de.html,然后使用以下代码:
private static String getFileName() {
Configuration config = getResources().getConfiguration();
InputStream stream = null;
try {
String name = "file-" + config.locale.getLanguage() + ".html";
stream = getAssets().open(name);
return name;
} catch (IOException exception) {
return "file.html";
} finally {
if (stream != null) {
stream.close();
}
}
}
【讨论】:
您可以使用“字符串值”来获取依赖于 Android 语言的 HTML 文件名,而无需使用任何额外的 java 代码,而只需使用 getString()。以下是 2 种语言的示例:
在文件values/strings.xml:
<string name="html_help_basepage">en_help.html</string>
在文件de/strings.xml中:
<string name="html_help_basepage">some_german_help.html</string>
等等……
对于您的 Java 代码(如问题从资产文件夹中的本地文件加载)
helpView = (WebView) findViewById(R.id.wv_help);
String adaptedToLanguage = getString(R.string.html_help_basepage)
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage);
不需要额外的 Java 代码。我希望这会有所帮助并回答问题。
【讨论】:
添加了一个新的答案,通过提供一个例子应该更准确。
【讨论】: