Android "font asset not found" 错误

Android "font asset not found" error

我正在为 Android 版本 22 开发。

我收到运行时异常 "Font asset not found"

代码如下:

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

这是我的文件结构:

我猜我的文件结构是错误的,因为 "assets" 文件夹在 "Android" 模式下不显示,只在 "Project Mode".

模式下显示

有什么问题?

I am guessing that my file structure is wrong because the "assets" folder does not show up in "Android" mode and only shows up in "Project Mode"

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

第 1 步:在您的项目树中,右键单击 main

第 2 步:从右键单击时出现的上下文菜单中选择“新建”>“目录”。

第 3 步:在出现的对话框中,键入 assets,然后单击“确定”。您现在将在 main.

下有一个 assets/ 目录

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

第 5 步:从右键单击时出现的上下文菜单中选择“新建”>“目录”。

第 6 步:在出现的对话框中,键入 'fonts',然后单击“确定”。您现在将在 main.

下有一个 assets/fonts/ 目录

第 7 步:将您的字体文件从其当前位置拖动到 assets/fonts/

第 8 步:删除 res/assets.fonts/ 目录,该目录现在是空的。

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

希望对您有所帮助。

I am guessing that my file structure is wrong because the "assets" folder does not show up in "Android" mode and only shows up in "Project Mode".

您的 assets 是空的,您在 "Android mode" 中看不到它。将模式更改为 "Project" 并将字体添加到 assets 文件夹。

assets 文件夹的正确位置:

root-module
|--.idea
|--app
|----build
|----src
|------main
|--------assets
|----------norwester.otf
|--------java
|----------source code here
|--------res
|------AndroidManifest.xml
|----build.gradle

创建assets文件夹右键点击app->New->Folder->Assets Folder如下图。

Assets folder should be under root directory of main folder which inner folder of src.

供参考请找到文件夹结构的附件图像。