我可以在 Android 应用程序中嵌入自定义字体吗?

Posted

技术标签:

【中文标题】我可以在 Android 应用程序中嵌入自定义字体吗?【英文标题】:Can I embed a custom font in an Android application? 【发布时间】:2011-03-26 08:20:49 【问题描述】:

我想让一个应用程序包含一个用于呈现文本的自定义字体,加载它,然后将它与标准元素(如 StaticText)一起使用。这可能吗?

【问题讨论】:

【参考方案1】:

是的,你可以,你只是不能将它定义到 xml 布局中。您每次都需要动态使用它。例如检查this tutorial。

如果链接失效,这里是一个总结:

获取像times.otf这样的字体文件 将其放入您的资产文件夹中的“字体”文件夹中

使用类似的方式获取 TextView 的引用:

TextView tv = (TextView) findViewById(R.id.myCustomTVFont);

从资产文件夹中获取字体:

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.otf");

让你的 TextView 看起来很棒:

tv.setTypeface(tf);

【讨论】:

希望教程不会有一天消失。 正如 Martin 正确指出的那样,这需要稍作修改,以防链接失效。 本教程确实帮助了我。这是我的问题的最终解决方案:) 在 API 2.1 设备上尝试过。效果不好。我想也许我的字体很大并导致了内存问题。或类似的。我刚刚发现了一些可能可以解决的问题:***.com/a/5941665/129202 原教程副本:web.archive.org/web/20140115015420/http://…【参考方案2】:

android 8.0(API 级别 26)开始,您可以在 XML 中使用字体。请参阅文档here。

【讨论】:

【参考方案3】:

您也可以查看此thread 并为您的活动中的所有视图设置自定义字体。

【讨论】:

与该问题的另一个答案一样,如果线程的重要内容在问题内,那将非常方便,以防有一天链接失效。

以上是关于我可以在 Android 应用程序中嵌入自定义字体吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在包中嵌入自定义字体并从 ios 框架访问它吗?

在 Android 中使用自定义字体

如何在 Xamarin Forms 中使用自定义字体(任何外部字体)作为嵌入资源?

如何在 android 应用程序中正确对齐自定义字体

Android API中的自定义字体低于16?

自定义字体和 XML 布局 (Android)