【问题标题】:multi font textview in androidandroid中的多字体textview
【发布时间】:2015-02-11 03:25:46
【问题描述】:

我已经在 android 中创建了 customFontTextView,但我的 customFontTextView 是否可以支持所有区域语言。所有字体文件将在 assets 文件夹中提供

我能够更改我的customFontTextView 中的字体以使用 XML 中的不同字体,即如果我设置了Arial.ttf,当我更改 XML 中的字体时它显示 Arial 字体而不是显示印地语,我需要更改每个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,所以我需要这个

【问题讨论】:

  • @Paul 明白我的问题了吗??它不是重复的,他们在谈论风格,我在谈论字体
  • 嗯,你想在同一个文本视图中有多种字体,对吧?就像“英语字体”会使用普通字体,而第二个单词会使用支持该语言的字体。
  • 是的,我的 TextView 应该支持所有区域语言,有可能吗?我已经搜索了它但没有得到任何东西所以我在这里问:)

标签: android fonts textview custom-font


【解决方案1】:

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

你可以在开始时执行一个 if 来获取设备的语言环境,如果印地语获取字体 Arial 并将其设置为你的 textview,否则获取 Helvetica。

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

您可以使用 Locale.getDefaultLocale 和 Locale.forLanguageTag(languageTag) 执行“如果”

注意:我使用 Arial 和 Helvetica 简化了示例,但我知道您说的是多语言字体,只需更改字体即可。

有帮助吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多