À partir d' Android-Studio 3.0, il est très facile de changer la famille de polices
En utilisant la bibliothèque de support 26, il fonctionnera sur les appareils exécutant l'API Android version 16 et supérieure
Créez un dossier font
sous le res
répertoire. Téléchargez la police que vous voulez et collez-la dans le font
dossier. La structure devrait être quelque chose comme ci-dessous
Remarque: À partir de la bibliothèque de support Android 26.0, vous devez déclarer les deux ensembles d'attributs (android: et app:) pour vous assurer que vos polices se chargent sur les appareils exécutant Api 26 ou une version antérieure.
Vous pouvez maintenant changer la police de la mise en page à l' aide
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/dancing_script"
app:fontFamily="@font/dancing_script"/>
Pour changer Programatically
Typeface typeface = getResources().getFont(R.font.myfont);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
textView.setTypeface(typeface);
Pour changer la police à l'aide de styles.xml, créez un style
<style name="Regular">
<item name="android:fontFamily">@font/dancing_script</item>
<item name="fontFamily">@font/dancing_script</item>
<item name="android:textStyle">normal</item>
</style>
et appliquer ce style à TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Regular"/>
vous pouvez également créer votre propre famille de polices
- Cliquez avec le bouton droit sur le dossier de polices et accédez à Nouveau> Fichier de ressources de polices . La fenêtre Nouveau fichier de ressources apparaît.
- Saisissez le nom du fichier , puis cliquez sur OK . La nouvelle ressource de police XML s'ouvre dans l'éditeur.
Écrivez votre propre famille de polices ici, par exemple
<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>
il s'agit simplement d'un mappage d'un fontStyle et d'un fontWeight spécifiques à la ressource de police qui sera utilisée pour rendre cette variante spécifique. Les valeurs valides pour fontStyle sont normales ou italiques; et fontWeight est conforme à la spécification CSS de poids de police
1. Pour changer la famille de polices dans la mise en page, vous pouvez écrire
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
2. Pour changer par programme
Typeface typeface = getResources().getFont(R.font.lobster);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.lobster);
textView.setTypeface(typeface);
Pour changer la police de l'application entière Ajoutez ces deux lignes dans AppTheme
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">@font/your_font</item>
<item name="fontFamily">@font/your_font</item>
</style>
Voir la documentation , le didacticiel sur les polices personnalisées Android pour plus d'informations