当前位置: 首页 > 知识库问答 >
问题:

获取字体从资源有错误的Java

商皓
2023-03-14

我编写代码并使用CompatResources获取字体并设置为TypeFace以查看错误Fabric.io报告了一些崩溃。

由android引起。所容纳之物无法检索res.Resources$NotFoundException字体资源ID#0x7f090000。

这是我的代码:

tfFontIcon = ResourcesCompat.getFont(mContext, R.font.font_icon);

谢谢你的帮助。

共有1个答案

轩辕鸿
2023-03-14

尝试以下解决方案

解决方案1

在资产文件夹中添加您的字体,如下图所示

并使用以下方法设置字体字体

CommonUtils.setFont(context, binding.txtDigital, "Montserrat-Bold.ttf");

public static void setFont(Context context, TextView textView, String fontPath) {
    Typeface t = Typeface.createFromAsset(context.getResources().getAssets(), fontPath);
    textView.setTypeface(t);
}

解决方案2

在res文件夹中添加字体文件夹,如下图所示

并直接将字体系列添加到textview中

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/app_name"
    android:fontFamily="@font/roboto_medium"
    android:textColor="@color/black"
    android:textSize="@dimen/_20ssp"
    android:visibility="gone" />

我希望这能帮助你!

非常感谢。

 类似资料:
  • 问题内容: 我需要将资源ID传递给我的一个类中的方法。它既需要使用引用指向的id,也需要使用字符串。我应该如何最好地做到这一点? 例如: 我需要获取它的整数ID,但是我还需要访问字符串“ icon”。 如果我只需要传递给该方法的是“ icon”字符串,那将是更好的选择。 问题答案: 我不知道那个存在。 在我的项目中,我使用以下代码来做到这一点: 这样将用于获取资源整数值的值 我刚刚找到了一篇博客文

  • 我正在编写hibernate dto映射osgi包(用于glassfish),这个包没有看到来自类路径的资源。 清单文件: 无法从sqljdbc4.jar访问文件,错误: 但这个库存在于导出的jar文件中。 此外,我无法通过类路径访问hibernate配置文件和映射文件(类未找到和资源未找到异常也)。但下一个代码有效: 我试图调用 在sys out中可以看到: 搜索了捆绑类路径选项,但我的清单似乎

  • 问题内容: 我正在使用以下方法从WildFly中的WAR文件获取资源: 当应用程序作为爆炸式WAR部署时,它可以工作。 它也曾经 与压缩的WAR一起 使用 。昨天,我在Eclipse中进行了项目的干净和重建,但它刚刚停止工作。 当我检查资源根目录时: 我得到这个: 因此,难怪它不起作用。它可能与JBoss模块加载有关,但是我不知道这是错误还是正常行为。 我在StackOverflow上发现了各种类

  • 这里有一个案例:我有身份服务器、客户端应用程序和资源(API)。身份服务器在endpoint超文本传输协议://身份服务器: 8080/连接/用户信息上提供用户信息。如果您发送带有有效访问令牌的请求,您将获得有关用户的其他信息。如果我需要有关资源的这些信息,我将如何获得它。我有两个想法: 通过客户端获取用户信息。(客户端在userinfoendpoint上发送请求并获取信息,然后使用请求调用API

  • 我正在为节点应用程序到web应用程序内服务创建发布管道。问题是我得到了这个错误: 错误:无法获取资源类型“微软网站”和资源名称“调查服务”的资源 ID。错误:无法提取托管服务主体的访问令牌。请为虚拟机“https://aka.ms/azure-msi-docs”配置托管服务标识 (MSI)。状态代码:400,状态消息:请求错误。 我已经激活了MSI,但它仍然不起作用。我在设置中也找不到与服务主体相

  • 多亏了约书亚我才想通的。