55 votes

créer une police de caractères à partir de l'identifiant de la ressource police

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

Je sais que le répertoire des polices doit être dans les actifs mais dans mon cas, j'ai un répertoire de ressources de polices existant et je pensais que le gestionnaire d'actifs lirait le répertoire de ressources de polices mais j'avais tort. Je crée un Typeface pour définir une police personnalisée pour le collapsingToolbarLayout.

J'ai trouvé cette réponse mais cela m'oblige à garder la police dans les actifs

4 votes

Je vous suggère de suivre ce très bon tutoriel . Plus d'informations aquí

146voto

sziraqui Points 1422

Cela a fonctionné

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

J'ai trouvé ceci dans le lien du tutoriel par @Eselfar

1 votes

Si @Eselfar a déjà répondu à votre question, pourquoi poster une solution supplémentaire, si la question est posée par une autre personne, c'est acceptable.

7 votes

Tout d'abord, lorsque j'ai posté ce message, je ne savais pas que cela aiderait autant de personnes. Deuxièmement, les questions sans réponse restent sans réponse sur SO. C'est donc une bonne pratique de dire à la communauté ce qui a résolu votre problème et donc de fermer votre question. Enfin, le lien peut se rompre à l'avenir, donc poster la ligne pertinente d'un long article est toujours utile et n'est évidemment pas un moyen de marquer des points. Il s'agit d'une communauté et non d'une compétition alors arrêtez de supposer des choses et faites quelque chose pour aider les gens.

6 votes

Je pense m'être expliqué assez clairement, même si je n'en avais pas besoin. Si vous n'êtes pas satisfait, vous pouvez poser une question sur meta et les mods vous diront quel est le comportement correct. Mais avant cela, lisez les directives communautaires de QnA et dites-leur quelles directives vous pensez que je viole. La section des commentaires n'est pas destinée à la guerre des mots.

35voto

Elenasys Points 23268

Si vous voulez créer le TypeFace à partir d'une police stockée dans le dossier des actifs,

enter image description here

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

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

Vous pouvez créer la police de caractères en utilisant l'identifiant de la ressource de la police stockée dans le fichier /font dossier comme celui-ci :

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

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

enter image description here

5 votes

L'OP demandait les polices dans le dossier res, pas les actifs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X