android - 自定义 ttf 字体在 Android 4.4 KitKat 上的 TextView 中显示不正确

标签 android types fonts textview android-fonts

我有一些文本有一些粗体部分。在 KitKat 之前,这个策略(as mentioned in this post)非常有效

我的字符串资源文件:

<string name="multi_style_text">NON-BOLD TEXT \n<b>BOLD</b></string>

我在 fragment 中的应用程序代码:

txtView.setTypeface(FontUtils.getOstrichRegular(this.getActivity()));
...
public static Typeface getOstrichRegular(Context context) {
   return Typeface.createFromAsset(context.getAssets(),
                                "fonts/ostrich_regular.ttf");
}

目前(在KitKat中),加粗部分不显示在自定义字体中,非加粗部分显示在自定义字体中。在以前的 Android 版本中,所有文本都以自定义字体显示。

什么给了?

最佳答案

所以,在被这个bug搞得焦头烂额后,我四处搜索,找到了解决问题的办法。 在我当前的项目中,我们使用 calibri.ttf 字体。直到 4.4 都可以正常工作。一旦我更新了我的 nexus 4,所有带有 Calibri 字体的 TextView 都显示“ff”而不是整个文本。

修复 - 获取字体的 .otf(开放式字体)版本,并将其放入项目中,效果非常好。太糟糕了,谷歌没有就此通知开发人员,而且关于此事的文档也很少。

关于android - 自定义 ttf 字体在 Android 4.4 KitKat 上的 TextView 中显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20107072/

相关文章:

android - 将项目添加到列表时的文字参数警告

r - 在 R 中,为什么 is.integer(1) 返回 FALSE?

ios - 单击粗体按钮后如何更改文本字段的字体

python - 如何为文本小部件设置字符的最大宽度?

CSS 和 IE9 : tags uncorrectly interpreted

android - 我是否需要注销 'anonymous' BroadcastReceiver

android - ActionBarSherlock 和自定义 TextBox(扩展 AutoCompleteTextView)

haskell - 让 Haskell 区分类型同义词

c# - 在 C# 中使用 "Type"对象类型转换对象

android - 中心颜色可以在 android 径向渐变绘图中重新定位吗?