Una risorsa carattere definisce un carattere personalizzato che puoi utilizzare nella tua app. I caratteri possono essere singoli file dei caratteri o una raccolta di file dei caratteri, noti come famiglia di caratteri e definiti in XML.
Scopri anche come definire i caratteri in XML o utilizzare i caratteri scaricabili.
Carattere bundle
Puoi raggruppare i caratteri come risorse di un'app. I caratteri vengono compilati nel file R
e sono automaticamente disponibili nel sistema come risorsa. Puoi quindi accedere a questi caratteri con l'aiuto del tipo di risorsa font
.
- percorso file:
res/font/filename.ttf
(.ttf
,.ttc
,.otf
o.xml
)
Il nome file viene utilizzato come ID risorsa.- riferimento risorsa:
- In XML:
@[package:]font/font_name
- :
-
<?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>
- :
- esempio:
- File XML salvato in
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>
File XML salvato in
res/layout/
che applica il carattere a unTextView
:<?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!" />
Carattere scaricabile
Una risorsa di carattere scaricabile definisce un carattere personalizzato che puoi utilizzare in un'app. Questo carattere non è disponibile nell'app stessa. ma viene recuperato da un provider di caratteri.
- percorso file:
res/font/filename.xml
Il nome file è l'ID risorsa.- riferimento risorsa:
- In XML:
@[package:]font/font_name
- :
-
<?xml version="1.0" encoding="utf-8"?> <font-family android:fontProviderAuthority="authority" android:fontProviderPackage="package" android:fontProviderQuery="query" android:fontProviderCerts="@[package:]array/array_resource" />
- :
- esempio:
- File XML salvato in
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>
File XML salvato in
res/values/
che definisce l'array di certificati:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
File XML salvato in
res/layout/
che applica il carattere a unTextView
:<?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!" />