android中的多字体textview

时间:2014-12-12 12:04:26

标签: android fonts textview custom-font

我在android中创建了customFontTextView,但我可以让customFontTextView支持所有区域语言。所有字体文件都会在资源文件夹中给出

我可以在我的customFontTextView中更改XML中不同字体的字体,即如果我设置Arial.ttf而不是显示Arial字体,当我在XML中更改字体时,某些hindifont比显示hindi,i需要每次都在XML中进行更改,以便将textview运行时字体更改为语言更改

场景如

CustomTextView tvTitle = (CustomTextView).findViewById(R.id.tvTitle);
tvTitle.setText("English Font");
tvTitle.setText("ગુજરાતી ફોન્ટ");
tvTitle.setText("हिन्दी फॉन्ट");
tvTitle.setText("same as other language font");

注意:在某些设备中,不支持区域字体,如MOTO G,E,X,所以我需要这个

1 个答案:

答案 0 :(得分:0)

如果我没有误解你的问题,你想在textView上设置一个字体(例如:英语为Helvetica,印地语为Arial,等等......)。

嗯,你可以做一个if开始获取设备的语言环境,如果hindi得到字体Arial并将其设置为你的textview,否则得到Helvetica。

Typeface face = Typeface.createFromAsset(getAssets(), "fonts/Helvetica.ttf");
tv.setTypeface(face);

你可以做"如果"使用Locale.getDefaultLocale和Locale.forLanguageTag(languageTag)

注意:我使用Arial和Helvetica简化了示例,但我知道您在谈论多语言字体,只需更改字体。

它有帮助吗?