You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为TextView设置自定义fontFamily触发Resources$NotFoundException求助

解决自定义字体导致App启动崩溃的问题

我仔细看了你按照Google官方文档配置自定义字体后App崩溃的问题,结合你描述的操作步骤和Logcat信息,咱们一步步来排查解决:

可能的问题点及对应解决方案

1. 先确认字体文件本身是否有效

有时候下载的字体文件可能损坏,或者不是标准的TTF格式,这是最常见的崩溃原因之一。你可以:

  • 用Windows自带的字体查看器打开droidkufi_regular.ttf,确认能正常显示字体的字符
  • 换一个可靠的来源重新下载该字体,替换掉当前项目里的文件

2. 检查资源目录的创建是否规范

你需要确保字体文件放在**res/font/**目录下,这个目录最好通过Android Studio的「New -> Android Resource Directory」创建,类型选择font——虽然手动在资源管理器里建目录也能生效,但容易出现Android Studio识别不完整的情况。

  • 切换到Android Studio的「Android」视图,检查res/font/下是否同时存在droidkufi_regular.ttf和myfont.xml两个文件

3. 核对字体资源文件的配置细节

你的myfont.xml语法看起来没问题,但可以再仔细核对:

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/droidkufi_regular" />
</font-family>
  • 确认android:font的值和字体文件名完全一致(你已经改成小写了,这点没问题)
  • 检查xml文件有没有多余的空格、标签未闭合这类语法错误

4. 清理缓存并重新构建项目

Gradle缓存偶尔会导致资源识别异常,试试这些操作:

  • 点击Android Studio工具栏的「Build -> Clean Project」,接着执行「Build -> Rebuild Project」
  • 手动删除项目根目录下的.gradle文件夹和app/build文件夹,再通过「File -> Sync Project with Gradle Files」重新同步

5. 验证布局里的引用是否正确

确保布局文件中TextView的android:fontFamily="@font/myfont"没有拼写错误,比如myfont是否和资源文件名完全一致(Android资源文件名是大小写敏感的)

6. 尝试直接引用字体文件

如果上面的方法都没效果,可以先跳过myfont.xml,直接在TextView里引用字体文件:

android:fontFamily="@font/droidkufi_regular"

如果这样能正常运行,说明问题出在myfont.xml的配置上;如果还是崩溃,那基本可以确定是字体文件本身或者资源目录的问题

补充:从Logcat定位核心错误

从你提供的Logcat信息来看,崩溃的根源是android.view.InflateException,本质是系统找不到指定的字体资源,所以优先排查资源路径和文件有效性会更高效。

内容的提问来源于stack exchange,提问作者ASghostKI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:17:31