Android“找不到字体资源”错误

时间:2016-03-25 16:33:36

标签: android android-assets

我正在为Android版本22开发。

我收到运行时异常“找不到字体资源”

以下是代码:

Typeface customFont =    Typeface.createFromAsset(getAssets(), "fonts/norwester.otf");

这是我的文件结构:

First part of file structure

Second part of file stucture

3rd part of file structure

我猜我的文件结构错误,因为“assets”文件夹没有以“Android”模式显示,只显示在“Project Mode”中。

有什么问题?

4 个答案:

答案 0 :(得分:7)

  

Assets文件夹应位于src内部文件夹的主文件夹的根目录下。

供参考请查找文件夹结构的附件图片。

enter image description here

enter image description here

答案 1 :(得分:1)

  

我猜我的文件结构错误,因为“assets”文件夹没有以“Android”模式显示,只显示在“Project Mode”中

根据您的屏幕截图,您没有“资产”文件夹。您有一个res/assets.fonts/文件夹。它的名称错误(assets.fonts,而不是assets)并且位置错误(res/的孩子)。

步骤1:在项目树中,右键单击main

步骤2:选择新>右键单击时出现的上下文菜单中的目录。

步骤3:在出现的对话框中,键入assets,然后单击“确定”。您现在将在assets/下有一个main目录。

步骤4:在项目树中,右键单击新创建的assets目录。

步骤#5:选择新>右键单击时出现的上下文菜单中的目录。

步骤6:在出现的对话框中,键入“fonts”,然后单击“确定”。现在,您将在main下面有一个assets/fonts/目录。

步骤#7:将字体文件从当前位置拖动,将其移至assets/fonts/

步骤#8:删除res/assets.fonts/目录,该目录现在为空。

答案 2 :(得分:1)

  

我猜我的文件结构错误,因为“assets”文件夹没有以“Android”模式显示,只显示在“Project Mode”中。

您的echo implode( PHP_EOL, $array ); exit; die;为空,您无法在“Android模式”中看到它。将模式更改为“项目”并将您的字体添加到assets文件夹。

assets文件夹的正确位置:

assets

创建root-module |--.idea |--app |----build |----src |------main |--------assets |----------norwester.otf |--------java |----------source code here |--------res |------AndroidManifest.xml |----build.gradle 文件夹右键单击app-> New-> Folder-> Assets文件夹,如下图所示。

Create assets folder

答案 3 :(得分:0)

资源文件夹必须位于主文件夹中,而不是位于资源文件夹中。 您的项目中还有assets.fonts,我猜这不是正确的格式。您可以在主目录中创建资产,然后右键单击 - >新 - >目录并将其名称命名为字体

希望这有帮助。