Comment puis-je spécifier par exemple Roboto-Medium ou Roboto-Black dans styles.xml

Des messages comme celui-ci Comment changer la police de famille de TextView dans Android suggère que les variantes de fonts Roboto que vous pouvez spécifier dans styles.xml dans Android 4.2 se résument à ce qui suit:

  • Ordinaire
  • Italique
  • Audacieux
  • Gras italique
  • Lumière
  • Italique clair
  • Mince
  • Italique mince
  • Condensé régulier
  • Condensé italique
  • Condensé gras
  • Condensé gras-italique

Cela exclut la possibilité de styler TextViews à l’aide, par exemple. les fonts Roboto-Medium ou Roboto-Black.

Mais pourquoi Google appenda-t-il des fonts à l’échelle du système qui ne peuvent pas être utilisées pour le style de vos TextViews? Il doit sûrement y avoir un moyen de spécifier toutes les fonts Roboto dans styles.xml (c.-à-d. Ne pas avoir à incorporer les fonts en tant qu’assets et créer des TextViews personnalisées dans le code) – mais comment?

Sur Android 5.0, vous pouvez définir Roboto Medium avec sans-serif-medium .

Cette solution, extraite de Google iosched 2014 , utilise sans-serif sur Android pré-v21:

values ​​/ styles.xml

  

valeurs / fonts.xml

 sans-serif 

values-v21 / fonts.xml

 sans-serif-medium 

Merci à Jakob Eriksson

Comment changer la police de famille de TextView dans Android

 android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-black" // roboto black android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0) 

dans le style:

  

dans le thème de l’application:

  

Je vous suggère d’utiliser des bibliothèques personnalisées comme Android-RobotoTextView ou Calligraphy . Avec l’une de ces options, vous pouvez définir la police d’une vue au format XML avec un atsortingbut afin de pouvoir l’inclure dans styles.xml. Et ils fonctionnent avec la version précédente d’Android que 4.0

Support Library 26 introduit à l’ aide de fonts XML et compatible avec les API Android 14.

Pour append des fonts en tant que ressources, procédez comme suit dans Android Studio:

  1. Cliquez avec le bouton droit sur le dossier res et accédez à Nouveau> Répertoire de ressources Android. La fenêtre Nouveau répertoire de ressources apparaît.

  2. Dans la liste Type de ressource, sélectionnez la police, puis cliquez sur OK. Remarque: Le nom du répertoire de ressources doit être la police.

Figure 1. Ajout du répertoire de ressources de polices

  1. Ajoutez vos fichiers de police dans le dossier de fonts. La structure de dossiers ci-dessous génère R.font.dancing_script , R.font.lobster et R.font.typo_graphica .

Figure 2. Ajout des fichiers de police dans le répertoire des ressources

  1. Double-cliquez sur un fichier de police pour prévisualiser les fonts du fichier dans l’éditeur.

Figure 3. Aperçu du fichier de police

Pour définir une police pour TextView , dans le fichier XML de présentation, définissez l’atsortingbut fontFamily sur le fichier de police auquel vous souhaitez accéder.

  

L’aperçu de la présentation d’Android Studio vous permet de prévisualiser la police définie dans TextView.

Figure 4. Aperçu des polices dans l'aperçu de la présentation

Pour append une police à un style, ouvrez le fichier styles.xml et définissez l’atsortingbut fontFamily sur le fichier de police auquel vous souhaitez accéder.

  

Si vous ne souhaitez pas regrouper les fonts de votre application, vous pouvez toujours consulter les fonts téléchargeables.