从字体资源id创建字体

时间:2018-02-08 14:38:22

标签: android fonts android-collapsingtoolbarlayout android-typeface

我尝试过使用Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));

我知道字体目录应该在资产中,但在我的情况下,我有一个现有的字体资源目录,所以我认为资产管理器将从字体资源目录中读取,但我错了。我正在创建Typeface来为collapsingToolbarLayout设置自定义字体。

我找到了this answer,但它要求我将字体保留在资产中

2 个答案:

答案 0 :(得分:50)

这有效

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

在@Eselfar

的教程链接中找到了这个

答案 1 :(得分:10)

如果要从存储在assets文件夹中的字体创建TypeFace

enter image description here

您不需要定义目录,只需要定义字体名称:

Typeface typeface =  Typeface.createFromAsset(getAssets(),"app_font.ttf");

您可以使用存储在/font文件夹中的字体的资源ID创建字体,如下所示:

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

您的字体必须存储在/font目录

enter image description here