本机字体不能用于字体

时间:2015-09-28 10:04:20

标签: android font-awesome android-typeface

我有一个相当传统的问题。在我的应用程序中,我有这一行:

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/fontawesome-webfont.ttf");

它返回一个例外:

RuntimeException: native typeface cannot be made

我有什么:

  • 我的assets文件夹位于我的应用的src/main/文件夹中;
  • 在build.gradle文件中,写了以下几行:

    sourceSets { main { assets.srcDirs = ['assets'] } }

  • 我的文件名和扩展名是小写的。

我写道,我认为所有stackoverflow都有关于此问题的帖子,并尝试了以下解决方案:

  • 我写了context.getAssets()context.getRessources().getAssets(),而不仅仅是getAssets()
  • 我尝试将我的字体文件设置为更旧的字体,直接设置为资源文件夹
  • 我试图检查TTF扩展而不是ttf
  • 我尝试从文件名
  • 中删除 - 和_ simbols

没有什么能帮助我。你可能知道另一个解决方案吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

您的资产文件夹似乎可能放错了位置。使用Android Studio时,资源文件夹应位于源集内部,例如src/main/assets/

<德尔> 还要重命名字体并用`_`删除`-`并在代码中进行适当的更改。

<强>更新

我尝试重现您的问题,发现问题可能是因为字体文件无效。很可能下载的ttf已损坏。使用this file for fontawsome-webfont

enter image description here