Android Travailler avec des polices dans Android O


Exemple

Android O change la façon de travailler avec les polices.

Android O introduit une nouvelle fonctionnalité, appelée Fonts in XML , qui vous permet d’utiliser des polices en tant que ressources. Cela signifie qu'il n'est pas nécessaire de regrouper les polices en tant qu'actifs. Les polices sont maintenant compilées dans un fichier R et sont automatiquement disponibles dans le système en tant que ressource.

Pour ajouter une nouvelle police , vous devez effectuer les opérations suivantes:

  • Créez un nouveau répertoire de ressources: res/font .
  • Ajoutez vos fichiers de polices dans ce dossier de polices. Par exemple, en ajoutant myfont.ttf , vous pourrez utiliser cette police via R.font.myfont .

Vous pouvez également créer votre propre famille de polices en ajoutant le fichier XML suivant dans le répertoire res/font :

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>

Vous pouvez utiliser le fichier de polices et le fichier de famille de polices de la même manière:

  • Dans un fichier XML, en utilisant l'attribut android:fontFamily , par exemple comme ceci:

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/myfont"/>
    

    Ou comme ça:

    <style name="customfontstyle" parent="@android:style/TextAppearance.Small">
        <item name="android:fontFamily">@font/myfont</item>
    </style>
    
  • Dans votre code , en utilisant les lignes de code suivantes:

    Typeface typeface = getResources().getFont(R.font.myfont);
    textView.setTypeface(typeface);