Une ressource de police définit une police personnalisée que vous pouvez utiliser dans votre application. Les polices peuvent être des fichiers de police individuels ou un ensemble de fichiers de police, appelé famille de polices et défini en XML.
Découvrez également comment définir des polices en XML ou utilisez des polices téléchargeables.
Police groupée
Vous pouvez regrouper les polices en tant que ressources dans une application. Les polices sont compilées dans le fichier R
et sont automatiquement disponibles en tant que ressource dans le système. Vous pouvez ensuite accéder à ces polices à l'aide du type de ressource font
.
- emplacement du fichier :
res/font/filename.ttf
(.ttf
,.ttc
,.otf
ou.xml
)
Le nom de fichier est utilisé comme ID de ressource.- référence de la ressource :
- En XML :
@[package:]font/font_name
- syntaxe :
-
<?xml version="1.0" encoding="utf-8"?> <font-family> <font android:font="@[package:]font/font_to_include" android:fontStyle=["normal" | "italic"] android:fontWeight="weight_value" /> </font-family>
- éléments :
- exemple :
- Fichier XML enregistré sous
res/font/lobster.xml
:<?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>
Le fichier XML qui applique la police à un
TextView
est enregistré dansres/layout/
:<?xml version="1.0" encoding="utf-8"?> <EditText android:fontFamily="@font/lobster" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, World!" />
Police téléchargeable
Une ressource de police téléchargeable définit une police personnalisée que vous pouvez utiliser dans une application. Cette police n'est pas disponible dans l'application elle-même, mais récupérée à partir d'un fournisseur de polices.
- emplacement du fichier :
res/font/filename.xml
Le nom de fichier est utilisé comme ID de ressource.- référence de la ressource :
- En XML :
@[package:]font/font_name
- syntaxe :
-
<?xml version="1.0" encoding="utf-8"?> <font-family android:fontProviderAuthority="authority" android:fontProviderPackage="package" android:fontProviderQuery="query" android:fontProviderCerts="@[package:]array/array_resource" />
- éléments :
- exemple :
- Fichier XML enregistré sous
res/font/lobster.xml
:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android" android:fontProviderAuthority="com.example.fontprovider.authority" android:fontProviderPackage="com.example.fontprovider" android:fontProviderQuery="Lobster" android:fontProviderCerts="@array/certs"> </font-family>
Le fichier XML qui définit le tableau de certificats est enregistré dans
res/values/
:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
Le fichier XML qui applique la police à un
TextView
est enregistré dansres/layout/
:<?xml version="1.0" encoding="utf-8"?> <EditText android:fontFamily="@font/lobster" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello, World!" />