create typeface from font resource id

24,221

Solution 1

This worked

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

Found this in the tutorial link by @Eselfar

Solution 2

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

Share:
24,221
sziraqui
Author by

sziraqui

whoami : a_TechFreak ls skills : ["android apps","android ROMs","bash", "python","java","c","nodejs","html","unity3D","blender","photoshop",after effects","illustrator","corelDraw", ....] uname -i : linux+windows_x86_x64

Updated on August 25, 2020

Comments

  • sziraqui
    sziraqui over 3 years

    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