在Android中为不同语言使用不同的字体

时间:2012-06-28 14:42:55

标签: android android-layout fonts android-fonts

我为EditText字段使用自定义字体,但我使用的字体只有英文字符。当我键入其他语言时,应用程序使用该语言的默认Android字体。

是否可以为英语输入设置一种字体,为另一种语言设置另一种字体?

要设置EditText字体:

mFont1 = Typeface.createFromAsset(context.getAssets(), "eraslght.ttf");
textView.setTypeface(mFont1 );

2 个答案:

答案 0 :(得分:3)

如果您使用strings.xml,如下所示:

mFont1 = Typeface.createFromAsset(context.getAssets(), getString(R.strings.button_font));
textView.setTypeface(mFont1 );

并在strings.xml中只将相关路径作为字符串...

答案 1 :(得分:1)

您可以查看当前在系统中设置的语言,并为它们设置不同的字体。

mFont1 = Typeface.createFromAsset(context.getAssets(), "eraslght.ttf");
if (Locale.getDefault().getDisplayLanguage() == "en") {
    textView.setTypeface(mFont1);
} else {
    textView.setTypeface(mFont2);
}