create typeface from font resource id

AndroidFontsAndroid CollapsingtoolbarlayoutAndroid Typeface

Android Problem Overview


I have tried using Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));

I know font directory should be in assets but in my case, I have an existing font resource directory so I thought asset manager will read from font resource directory but I was wrong. I am creating Typeface to set custom font for collapsingToolbarLayout.

I found this answer but it requires me to keep font in assets

Android Solutions


Solution 1 - Android

This worked

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

Found this in the tutorial link by @Eselfar

Solution 2 - Android

If you want to create the TypeFace from a font stored in assets folder,

enter image description here

you don´t need to define the directory, just the name of the font:

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

You can create the Typeface using the resource id of the font stored into the /font folder like this :

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

your font must be stored into the /font directory

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsziraquiView Question on Stackoverflow
Solution 1 - AndroidsziraquiView Answer on Stackoverflow
Solution 2 - AndroidJorgesysView Answer on Stackoverflow