Xamarin.Forms中Java.Lang.RuntimeException:Roboto-Medium字体资产找不到的解决方法
解决Xamarin.Forms中“Font asset not found Roboto-Medium”异常的可行方案
检查字体文件的构建操作
确保Android项目中的Roboto-Medium.ttf文件的Build Action设置为AndroidAsset。操作步骤:右键字体文件→属性→在“生成操作”下拉菜单中选择AndroidAsset。这一步是让Android系统识别该文件为资源资产,否则无法被加载。核对字体引用的路径与名称
- 若字体放在Android项目的
Assets根目录,代码中引用时需确保路径和名称准确,示例:"Roboto-Medium.ttf#Roboto Medium"。这里的Roboto Medium是字体的内部名称,部分字体的内部名称与文件名可能存在差异,可通过系统自带的字体查看工具(如Windows的字体预览)确认内部名称。 - Android系统区分文件名大小写,代码中写的文件名必须和实际文件名完全一致,比如
Roboto-Medium.ttf不能写成小写的roboto-medium.ttf。
- 若字体放在Android项目的
清理缓存并重建项目
缓存可能导致资源未更新,执行以下操作:- 右键解决方案→选择“清理解决方案”;
- 删除Android项目下的
bin和obj文件夹; - 重新生成整个解决方案。
验证字体文件完整性
若字体文件损坏或不完整,也会导致加载失败。重新下载官方正版的Roboto-Medium字体文件,替换项目中现有的文件后再测试。升级Xamarin.Forms版本
旧版本的Xamarin.Forms可能存在字体加载的已知bug,尝试将Xamarin.Forms升级到最新稳定版本(升级前建议备份项目,避免兼容性问题)。
内容的提问来源于stack exchange,提问作者Diwakar Venkatesan
相关产品推荐
相关产品推荐

