web-dev-qa-db-fra.com

créer une police à partir de l'identifiant de ressource de police

J'ai essayé d'utiliser Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));

Je sais que le répertoire de polices doit être dans les actifs, mais dans mon cas, j’ai un répertoire de ressources de polices existant. Je pensais donc que le gestionnaire d’actifs lirait à partir du répertoire de ressources de polices, mais j’avais tort. Je crée une police de caractères pour définir une police personnalisée pour collapsingToolbarLayout.

J'ai trouvé cette réponse mais cela nécessite que je garde la police dans les actifs

28
sziraqui

Cela a fonctionné

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

Trouvé ceci dans le lien du tutoriel par @Eselfar

66
sziraqui

Si vous voulez créer le TypeFace à partir d’une police stockée dans le dossier assets,

enter image description here

vous n’avez pas besoin de définir le répertoire, mais le nom de la police:

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

Vous pouvez créer la police de caractères à l’aide de l’identifiant de ressource de la police stockée dans le fichier /font dossier comme ceci:

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

votre police doit être stockée dans le /font répertoire

enter image description here

13
Jorgesys