Jetpack Compose项目中TTF字体文件报错(无具体提示)求助
Jetpack Compose自定义Poppins字体红色错误排查方案
修正资源文件夹路径:你把
font文件夹放在java/res/font是错误的,Android的资源目录res必须和java目录同级,正确路径应该是app/src/main/res/font。Android Studio不会识别嵌套在java目录下的res文件夹,这是引发错误的核心原因之一。规范字体文件命名:Poppins的TTF文件名必须符合Android资源命名规则——只能用小写字母、数字、下划线和连字符,不能包含空格或大写字母。比如将
Poppins-Regular.ttf改成poppins_regular.ttf。同步并重建项目:
- 点击顶部工具栏的
File > Sync Project with Gradle Files同步Gradle配置 - 执行
Build > Clean Project清理旧构建文件,再执行Build > Rebuild Project重新构建 - 若问题依旧,尝试
File > Invalidate Caches... > Invalidate and Restart清除Android Studio缓存并重启
- 点击顶部工具栏的
验证字体文件完整性:重新从官方渠道下载Poppins字体的TTF文件,确认文件未损坏,避免因下载中断导致的文件残缺问题。
手动声明字体族(可选):如果路径和命名都正确仍报错,可以在
res/values下创建font_family.xml,手动注册字体:
<font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/poppins_regular"/> </font-family>
之后在Compose中调用:
val poppinsFont = FontFamily(Font(R.font.poppins_regular)) Text(text = "测试文本", fontFamily = poppinsFont)
内容的提问来源于stack exchange,提问作者Luca Strambeanu
相关产品推荐
相关产品推荐

