从字体资源 ID 创建字体
create typeface from font resource id
我试过使用Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));
我知道字体目录应该在资产中,但在我的例子中,我有一个现有的字体资源目录,所以我认为资产管理器将从字体资源目录中读取,但我错了。我正在创建 Typeface 来为 collapsingToolbarLayout 设置自定义字体。
我找到了 this answer 但它要求我在资产中保留字体
这有效
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
在@Eselfar
的教程link中找到了这个
如果您想从资产文件夹中存储的字体创建 TypeFace
,
您不需要定义目录,只需定义字体名称:
Typeface typeface = Typeface.createFromAsset(getAssets(),"app_font.ttf");
您可以使用存储在 /font
文件夹中的字体资源 ID 创建字体,如下所示:
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
您的字体必须存储在 /font
目录中
我试过使用Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));
我知道字体目录应该在资产中,但在我的例子中,我有一个现有的字体资源目录,所以我认为资产管理器将从字体资源目录中读取,但我错了。我正在创建 Typeface 来为 collapsingToolbarLayout 设置自定义字体。
我找到了 this answer 但它要求我在资产中保留字体
这有效
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
在@Eselfar
的教程link中找到了这个如果您想从资产文件夹中存储的字体创建 TypeFace
,
您不需要定义目录,只需定义字体名称:
Typeface typeface = Typeface.createFromAsset(getAssets(),"app_font.ttf");
您可以使用存储在 /font
文件夹中的字体资源 ID 创建字体,如下所示:
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
您的字体必须存储在 /font
目录中