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

如何在Android Studio中添加字体?已添加字体系列但代码调用报错

Android Studio 添加自定义字体及调用报错排查

一、调用字体报错的常见排查点

  • 资源ID找不到:字体文件名必须是小写字母+下划线(不能有大写、空格、特殊字符),且必须放在res/font目录下。重命名后点击Sync Now同步项目,再重新引用R.font.xxx。
  • 代码引用错误:检查是否导入了项目包下的R类(不是android.R),用ResourcesCompat.getFont()替代直接Typeface.create()来兼容低版本;如果用assets方式,确认路径和文件实际位置一致(比如"fonts/my_font.ttf")。
  • 字体文件损坏:重新下载字体文件,替换项目中的对应文件,避免复制过程中文件损坏。

二、添加自定义字体的两种常用方法

方法1:res/font目录(推荐,Android 8.0+原生支持,低版本兼容)

  1. 右键res目录 → 新建 → Android Resource Directory,Resource type选择font,创建font文件夹。
  2. 将.ttf/.otf格式的字体文件复制到font目录,文件名改成小写+下划线(比如opensans_regular.ttf)。
  3. XML布局中调用:
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/opensans_regular"/>
    
  4. 代码中调用(全版本兼容):
    TextView textView = findViewById(R.id.target_text);
    Typeface customFont = ResourcesCompat.getFont(this, R.font.opensans_regular);
    textView.setTypeface(customFont);
    

方法2:assets目录(兼容所有Android版本)

  1. 右键main目录 → 新建 → Folder → Assets Folder,创建assets文件夹。
  2. 在assets下新建fonts子文件夹,把字体文件放入其中(文件名建议规范命名)。
  3. 代码中调用:
    TextView textView = findViewById(R.id.target_text);
    Typeface customFont = Typeface.createFromAsset(getAssets(), "fonts/opensans_regular.ttf");
    textView.setTypeface(customFont);
    

三、批量添加字体的小技巧

  • 批量添加时直接把所有合规的字体文件复制到对应目录即可,无需额外配置。
  • 可以在styles.xml中定义带字体的样式,减少重复代码:
    <style name="RegularTextStyle">
        <item name="android:fontFamily">@font/opensans_regular</item>
        <item name="android:textSize">14sp</item>
        <item name="android:textColor">@color/black</item>
    </style>
    
    布局中直接引用:style="@style/RegularTextStyle"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:12:28