我可以在 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 应用程序中嵌入自定义字体吗?的主要内容,如果未能解决你的问题,请参考以下文章