我正在为Android版本22开发。
我收到运行时异常“找不到字体资源”
以下是代码:
Typeface customFont = Typeface.createFromAsset(getAssets(), "fonts/norwester.otf");
这是我的文件结构:
我猜我的文件结构错误,因为“assets”文件夹没有以“Android”模式显示,只显示在“Project Mode”中。
有什么问题?
答案 0 :(得分:7)
答案 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文件夹,如下图所示。
答案 3 :(得分:0)
资源文件夹必须位于主文件夹中,而不是位于资源文件夹中。 您的项目中还有assets.fonts,我猜这不是正确的格式。您可以在主目录中创建资产,然后右键单击 - >新 - >目录并将其名称命名为字体
希望这有帮助。