La fonction Fonts in XML vous permet de spécifier différents poids de police pour une famille de polices. Par exemple:Comment utiliser les poids spécifiés pour les polices au format XML
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<font android:font="@font/archivo_narrow_regular" android:fontWeight="400" android:fontStyle="normal"
app:font="@font/archivo_narrow_regular" app:fontWeight="400" app:fontStyle="normal"/>
<font android:font="@font/archivo_narrow_regular_italic" android:fontWeight="400" android:fontStyle="italic"
app:font="@font/archivo_narrow_regular_italic" app:fontWeight="400" app:fontStyle="italic"/>
<font android:font="@font/archivo_narrow_medium" android:fontWeight="500" android:fontStyle="normal"
app:font="@font/archivo_narrow_medium" app:fontWeight="500" app:fontStyle="normal"/>
<font android:font="@font/archivo_narrow_medium_italic" android:fontWeight="500" android:fontStyle="italic"
app:font="@font/archivo_narrow_medium_italic" app:fontWeight="500" app:fontStyle="italic"/>
<font android:font="@font/archivo_narrow_semibold" android:fontWeight="600" android:fontStyle="normal"
app:font="@font/archivo_narrow_semibold" app:fontWeight="600" app:fontStyle="normal"/>
<font android:font="@font/archivo_narrow_semibold_italic" android:fontWeight="600" android:fontStyle="italic"
app:font="@font/archivo_narrow_semibold_italic" app:fontWeight="600" app:fontStyle="italic"/>
<font android:font="@font/archivo_narrow_bold" android:fontWeight="700" android:fontStyle="normal"
app:font="@font/archivo_narrow_bold" app:fontWeight="700" app:fontStyle="normal"/>
<font android:font="@font/archivo_narrow_bold_italic" android:fontWeight="700" android:fontStyle="italic"
app:font="@font/archivo_narrow_bold_italic" app:fontWeight="700" app:fontStyle="italic"/>
</font-family>
Mais je ne peux pas comprendre comment utiliser réellement chacun de ces poids; soit dans un fichier XML (layout/style), soit dans du code Java. Leur attribut fontWeight
n'est pas disponible pour TextView
, et l'objet Typeface
créé à partir de ResourcesCompat.getFont(context, R.font.archivo_narrow)
ne mentionne pas les poids de police.
Je me rends compte que je peux simplement préciser la ressource de police spécifique (à savoir R.font.archivo_narrow_semibold
), mais alors quel est le point d'avoir un attribut fontWeight
dans le font-family
?
Oui, mais comment puis-je * utiliser * Les différents poids-police? – Bryan
Ne pas peser pour identifier les polices individuellement? Pouvez-vous me donner un exemple de ce que vous confondez? –
Je peux spécifier l'attribut 'font-weight' dans la balise' ', mais je ne trouve pas un moyen de * référencer * cet attribut' font-weight' ailleurs dans mon code (c.-à-d.Je peux * fixer * le poids, je ne peux pas * utiliser * le poids). Il existe un attribut ['textStyle'] (https://developer.android.com/reference/android/widget/TextView.html#attr_android:textStyle), mais vous ne pouvez spécifier que" bold "," italic "ou" bold " italique Il n'y a pas de semibold par exemple. – Bryan