Android 无法为字体创建本机字体
我有一个相当传统的问题。在我的应用程序中,我有以下行:Android 无法为字体创建本机字体,android,font-awesome,android-typeface,Android,Font Awesome,Android Typeface,我有一个相当传统的问题。在我的应用程序中,我有以下行: Typeface font = Typeface.createFromAsset(getAssets(), "fonts/fontawesome-webfont.ttf"); 并返回一个异常: RuntimeException: native typeface cannot be made 我所拥有的: 我的资产文件夹位于我的应用程序的src/main/folder中; 在build.gradle文件中,a写入了以下行: 源集{ 主要{
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/fontawesome-webfont.ttf");
并返回一个异常:
RuntimeException: native typeface cannot be made
我所拥有的:
我的资产文件夹位于我的应用程序的src/main/folder中;
在build.gradle文件中,a写入了以下行:
源集{
主要{
assets.srcDirs=['assets']
}
}
我的文件名和扩展名是小写的。
我写了我认为所有stackoverflow帖子都提到了这个问题,并尝试了以下解决方案:
我编写了context.getAssets和context.getResources.getAssets,而不是简单的getAssets
我试着把我的字体文件放到旧的字体文件夹,直接放到资产文件夹
我试图检查TTF扩展而不是TTF
我试图从文件名中删除-and uSimbols
什么都帮不了我。也许你知道另一个解决办法
谢谢。您的资产文件夹可能放错地方了。使用Android Studio时,assets文件夹应位于源代码集内,例如src/main/assets/
同时重命名字体,用``删除“-`”,并对代码进行适当的更改。
更新
我试图重现您的问题,发现问题可能是因为字体文件无效。很可能下载的ttf已损坏。使用
你的资产文件夹在哪里?dmxherazi,你读过我的文字吗?有一行描述了我的资产的本地化。对不起!试着像我在回答中提到的那样重命名这个文件。文件名拼写正确吗?我有一个相同的问题,字体文件的名称在代码上与实际文件名不同。您是否尝试重命名该文件并删除-字符。我的文件版本可以很好地打开。我不认为这是我的情况。