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

尝试在应用程序中使用自己的字体抛出错误

冯文彬
2023-03-14

我正在尝试为我的所有TextViews/EditViews等设置自定义字体。我遵循这个答案:是否可以为整个应用程序设置自定义字体?

为此,我有一个<code>。ttfassets/font/myFont.ttf中的文件。要将此<code>字体:

public class MyCustomTextView extends TextView {

public MyCustomTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init();
}

public MyCustomTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public MyCustomTextView(Context context) {
    super(context);
    init();
}

private void init() {
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
                                           "myFont.ttf");
    setTypeface(tf);
}

}

要将其添加到我的文本视图,我只需在布局中执行以下操作:

 <com.android.faccess.MyCustomTextView
    android:id="@+id/textview"
    style="@style/textview" />

样式在哪里:

<style name="textview">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">28dp</item>
    <item name="android:layout_gravity">center_horizontal|center_vertical</item>
    <item name="android:textSize">20sp</item>
    <item name="android:layout_marginLeft">5dp</item>
    <item name="android:layout_marginRight">5dp</item>

错误

我想我确实错过了一些非常简单的事情。这是LogCat:

12-17 10:16:21.633: E/AndroidRuntime(2094):android.view.InflateException:二进制XML文件行#8:错误inflating类com.android.faccess.MyCustomTextView12-17 10:16:21.633: E/AndroidRuntime(2094):原因:java.lang.RuntimeException:无法制作本机字体12-17 10:16:21.633: E/AndroidRuntime(2094):在android.graphics.Typeface.

我正在为Android 4.0及更高版本开发,因此无需担心此解决方案的泄漏。

感谢任何帮助。


共有1个答案

卢元龙
2023-03-14

您是在资源中创建了名为“字体”的文件夹,还是直接放置在资源文件夹中??如果没有创建文件夹,请创建一个文件夹并将字体文件放在那里。如果没有字体文件夹,请使用如下路径。

Typeface font = Typeface.createFromAsset(getAssets(), "myfont.TTF");

别的

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/myfont.TTF");

想了解更多信息,试试这个

 类似资料:
  • dispatcher Servlet中的配置 我在用杰克逊罐子 jackson-core-asl-1.9.0.jar Jackson-Mapper-ASL-1.9.0.jar json-lib-0.9.jar Spring版本是3.2.4

  • 当我单击“开始”按钮时,emulator不工作。我能做什么?请帮帮我!这是错误: 我能做什么?请帮帮我! 不可预期的顶级例外:ain.run运行时异常:C:\用户\维森\\Android\Probeta\app\build\中介\类\调试:文件未找到ain.java:246FileUcom.android.dx.command.dexer.文件(FileUain.main)ain.java:215

  • 问题内容: 我正在尝试安装使用gem的开源Rails 3.2.21应用程序,但是当我尝试运行命令时,出现以下错误: 我尝试卸载通过自制软件安装的每个版本的I,然后重新安装它们,如下所示: 然后运行: 正如此处提出的许多类似问题所建议的那样,但仍然导致与上述相同的错误。 请有人可以提供有关如何启动和运行该产品的指导吗? 问题答案: 错误日志显示: 因此,您需要安装: 正如评论中指出的那样,可能需要将

  • 我是Grails的新手,我用GVM工具安装了它,并试图从终端运行一个默认应用程序,只需尝试以下命令:Grails create-app demo和Grails run-app,我得到了一个巨大的错误: 编辑:问题解决了,只需升级JDK版本。

  • 在调试模式下启动sdk gphone x86 arm上的lib\main.dart...lib\main.dart 失败:生成失败,出现异常。 null 失败:生成失败,出现异常。 > 其中:构建文件'c:\flutter\flutter.pub-cache\hosted\pub.dartlang.org\flutter_local_notifications-3.0.1+2\android\Bu

  • 我尝试以下代码,但它显示错误消息: 错误消息:- 处理该命令时发生未知的服务器端错误。(警告:服务器未提供任何stacktrace信息)