android中的多语言和字体支持

android中的多语言和字体支持,android,android-layout,android-fonts,Android,Android Layout,Android Fonts,我知道用语言代码的后缀为该语言创建了一个新的值目录。对于德语:values de或法语:values fr,然后将我们的string.xml复制到其中并翻译每个条目。这是基于手机本地化设置的 我知道,我们可以绕过手机设置,让用户使用下面的代码在应用程序中选择所需的语言 Locale appLoc = new Locale("en"); Locale.setDefault(appLoc); Configuration appConfig = new Configuration(); appConf

我知道用语言代码的后缀为该语言创建了一个新的值目录。对于德语: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之间动态切换(对于不同的 语言)

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

我不想在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);
    }
}
Typeface tf=Typeface.createFromAsset(getAssets(),“font/comicsans.ttf”);

对于(int i=0;i是否要更改设备上的本地设置以更改字体样式?检查此选项可能会对您有所帮助@Manjunathab为什么您会一次又一次地撤消更改并中断格式设置?@AlexK我正在尝试格式化它properly@Lokesh我想支持整个应用程序与自定义字体。不使用电话设置