【发布时间】:2017-03-31 13:42:16
【问题描述】:
正如documentation 所说:
Android O 允许您通过添加字体文件将字体捆绑为资源 在 res/font/ 文件夹中。
结果:
您可以使用
getFont(int)方法检索字体,您可以在其中 需要传递你想要的字体的资源标识符 取回。此方法返回一个 Typeface 对象。这将编码 字体的第一个粗细或样式变体(如果它是字体) 家庭。然后您可以使用 Typeface.create(typeface, style) 方法 检索特定样式。注意:TextView 已经为您完成了这项工作。
字体字体 = getResources().getFont(R.font.myfont); textView.setTypeface(字体);
不幸的是,当我使用上述代码时,我收到以下错误:
cannot resolve method 'getFont(?)'
以前我做过以下事情:
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
但是现在当我尝试在 assets 文件夹中创建 fonts 文件夹时,它会自动跳转到 res 文件夹中。
我正在使用 android studio 2.3。提前感谢您的帮助。
【问题讨论】:
-
你怎么打电话给
getFont?你有一个有效的Resources对象吗? -
您的目标是开发者预览版吗?
-
@njzk2 我不知道。每当我尝试在 assets 文件夹中创建字体文件夹时,它都会跳出并进入 res 文件夹。
-
@Submersed 我刚刚创建了一个新项目,对开发者预览不太了解。
-
我能够正常使用资产目录并使用 getAssets() 方法。我使用操作系统(在本例中为 Linux)手动创建它并复制字体。允许我支持几年前但不一定古老的 Android 版本!