web-dev-qa-db-fra.com

Puis-je incorporer une police personnalisée dans une application Android?

J'aimerais qu'une application inclue une police personnalisée pour rendre le texte, la charger, puis l'utiliser avec des éléments standard comme StaticText. Est-ce possible?

77
Pentium10

Oui, vous ne pouvez pas le définir dans des mises en page XML. Vous devez l'utiliser dynamiquement à chaque fois. Vérifiez ce tutoriel par exemple.

Dans le cas où le lien est mort, voici un résumé des choses:

  • Obtenez un fichier de police comme times.otf
  • Déposez-le dans votre dossier de ressources, à l'intérieur d'un dossier "polices"
  • Obtenez une référence de TextView avec quelque chose comme ça:

    TextView tv = (TextView) findViewById(R.id.myCustomTVFont);
    
  • Prenez votre police dans le dossier des ressources:

    Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.otf");
    
  • Donnez une belle apparence à votre TextView:

    tv.setTypeface(tf);
    
139
Sephy

Depuis Android 8.0 (API niveau 26), vous pouvez utiliser des polices en XML. Voir la documentation ici .

3
Matt

Vous pouvez également consulter ce thread pour définir des polices personnalisées pour toutes les vues de votre activité.

2
SME