android中的多语言和字体支持

时间:2012-09-18 06:58:50

标签: android android-layout android-fonts

我知道为语言创建一个新值目录,后面是语言代码。对于德语: values-de 或法语: values-fr 然后将 string.xml 复制到其中并翻译每个条目。这基于电话本地化设置

我知道,我们可以绕过手机设置,并让用户使用以下代码在应用内选择所需的语言。

Locale appLoc = new Locale("en");
Locale.setDefault(appLoc);
Configuration appConfig = new Configuration();
appConfig.locale = appLoc;
getBaseContext().getResources().updateConfiguration(appConfig, getBaseContext().getResources().getDisplayMetrics());

我在我的应用程序中提供了一个语言选择选项,并让用户选择 他想要的应用程序的语言..在string.xml之间动态切换(对于不同的 语言)。

我的问题是......应用程序内部提供的语言选项应该是通过电话支持 强制性的?因为,请考虑我的手机不支持卡纳达地区 语言,如果用户在我的应用程序中选择卡纳达语作为语言选项。显示值 as [] [] [] [](方框)。如何为整个应用程序设置字体支持?

我不想在android中的每个视图上使用字体,如下所示

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/comicsans.ttf");

for(int i = 0; i <root.getChildCount(); i++) {
    View v = root.getChildAt(i);
    if(v instanceof TextView ) {
        ((TextView)v).setTypeface(tf);
    } else if(v instanceof Button) {
        ((Button)v).setTypeface(tf);
    } else if(v instanceof EditText) {
        ((EditText)v).setTypeface(tf);
    } else if(v instanceof ViewGroup) {
        changeFonts((ViewGroup)v);
    }
}

我们可以使用一些本地设置来配置整个应用程序的字体吗?

0 个答案:

没有答案