如何为整个应用设置自定义字体?遇aapt资源目录错误求助
解决aapt报错“invalid resource directory name”的自定义字体设置问题
这个错误的核心原因是资源文件夹的命名或路径不符合Android资源规范,按以下步骤排查修复:
修正文件夹命名与路径
确保font文件夹满足两个要求:- 名称必须是全小写、无空格/特殊字符的
font,不能是Font或带空格的名称; - 必须放在
app/src/main/res/目录下,形成app/src/main/res/font的正确路径(错误提示里的res font明显是路径多了空格,要改成res/font)。
- 名称必须是全小写、无空格/特殊字符的
规范字体文件命名
复制到font文件夹的字体文件(如ttf/otf格式)也必须全小写、无空格,比如my_custom_font.ttf不能写成MyCustomFont.ttf。适配低版本环境(可选)
如果你的项目compileSdkVersion低于26,或使用旧版Android Gradle插件(低于3.0),可以换用assets文件夹存放字体:- 在
src/main/下新建assets/fonts文件夹; - 把字体文件放入该目录;
- 代码中通过
Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf")加载字体。
- 在
内容的提问来源于stack exchange,提问作者Micah Okoh
相关产品推荐
相关产品推荐

