3

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

是否可以有一种字体用于英语输入,另一种字体用于另一种语言?

要设置 EditText 字体,我这样做:

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

2 回答 2

3

如果您使用如下所示的 strings.xml 会怎样:

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

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

于 2014-03-26T12:58:30.333 回答
1

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

mFont1 = Typeface.createFromAsset(context.getAssets(), "eraslght.ttf");
if (Locale.getDefault().getDisplayLanguage() == "en") {
    textView.setTypeface(mFont1);
} else {
    textView.setTypeface(mFont2);
}
于 2012-06-28T22:23:06.350 回答