Dans la réponse à cette question, l'utilisateur répertorie les valeurs pour android:fontFamily
et 12 variantes (voir ci-dessous). D'où viennent ces valeurs? La documentation de android:fontFamily
ne répertorie ces informations nulle part (j'ai vérifié ici et ici ). Les chaînes sont répertoriées dans le fichier Android styles.xml à divers endroits, mais comment sont-elles mappées à la police Roboto?
Depuis Android 4.1 / 4.2, les familles de polices Roboto suivantes sont disponibles:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
en combinaison avec cela
android:textStyle="normal|bold|italic"
12 variantes sont possibles:
- Régulier
- Italique
- Audacieux
- Gras italique
- Lumière
- Italique clair
- Mince
- Italique fin
- Condensé régulier
- Italique condensé
- Gras condensé
- Condensé gras-italique
Dans le styles.xml
fichier de l'application, je travaille sur quelqu'un répertorié comme famille de polices, et je suis sûr que c'est faux:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
Je voudrais que le thème de notre application soit correctement configuré (ce qui inclut l'utilisation correcte de fontFamily) et supprimer toute la redondance qui se trouve dans certains des styles créés avant de jeter un œil au fichier.
Polices disponibles (à partir d'Oreo)
La page Material Design Typography propose des démonstrations de certaines de ces polices et des suggestions sur le choix des polices et des styles.
Pour les détectives de code:
fonts.xml
est la liste définitive et sans cesse croissante des polices Android.Utilisation de ces polices
Définissez les attributs
android:fontFamily
etandroid:textStyle
, par exempleaux valeurs souhaitées de ce tableau:
(Noto Sans est une police de secours; vous ne pouvez pas la spécifier directement)
Remarque: ce tableau est dérivé de
fonts.xml
. Le nom de famille et le style de chaque police sont répertoriés dans fonts.xml, par exempleserif-monospace
est donc la famille de polices etnormal
le style.Compatibilité
Sur la base du journal de fonts.xml et de l'ancien system_fonts.xml , vous pouvez voir quand chaque police a été ajoutée:
la source
Pour autant que je sache, vous ne pouvez pas déclarer de polices personnalisées en xml ou en thèmes. Je crée généralement des classes personnalisées étendant textview qui définissent leur propre police lors de l'instanciation et les utilise dans mes fichiers XML de mise en page.
c'est à dire:
et
la source