Risorse carattere

Una risorsa carattere definisce un carattere personalizzato che puoi utilizzare nella tua app. Caratteri possono essere singoli file di caratteri o una raccolta di file di caratteri, noti come famiglia di caratteri e definita in XML.

Scopri anche come definire i caratteri in XML oppure utilizza i caratteri scaricabili.

Carattere integrato

Puoi raggruppare i caratteri come risorse in un'app. I caratteri vengono compilati R e sono automaticamente disponibili nel sistema come risorsa. Puoi quindi accedere a questi caratteri con l'aiuto del font tipo di risorsa.

percorso del file:
res/font/filename.ttf (.ttf, .ttc, .otf o .xml)
Il nome file viene utilizzato come ID risorsa.
riferimento della risorsa:
In XML: @[package:]font/font_name
sintassi:
<?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>
elementi:
<font-family>
Obbligatorio. Deve essere il nodo radice.

Nessun attributo.

<font>
Definisce un singolo carattere all'interno di una famiglia. Non contiene nodi figlio.

Attributi:

android:fontStyle
Parola chiave. Definisce lo stile del carattere. Questo attributo è utilizzata quando il carattere viene caricato nell'elenco filtri e sostituisce le informazioni sullo stile nelle tabelle di intestazione del carattere. In caso contrario specificare l'attributo, l'app utilizza il valore del carattere tabelle di intestazione. Il valore costante è normal o italic.
android:fontWeight
Numero intero. Lo spessore del carattere. Questo attributo è utilizzata quando il carattere viene caricato nell'elenco filtri e sostituisce le informazioni sul peso nelle tabelle di intestazione del carattere. La deve essere un multiplo di 100 tra 100 e 900 inclusi. Se non specifichi l'attributo, l'app utilizza il valore dell'intestazione del carattere tabelle. I valori più comuni sono 400 per il peso normale e 700 per un peso deciso.
esempio:
File XML salvato alle ore 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 un TextView:

<?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 carattere scaricabile definisce un carattere personalizzato che puoi utilizzare in un dell'app. Questo carattere non è disponibile nell'app stessa. Il carattere viene invece recuperate da un fornitore di caratteri.

percorso del file:
res/font/filename.xml Il nome file è l'ID risorsa.
riferimento della risorsa:
In XML:@[package:]font/font_name
sintassi:
<?xml version="1.0" encoding="utf-8"?>
<font-family
    android:fontProviderAuthority="authority"
    android:fontProviderPackage="package"
    android:fontProviderQuery="query"
    android:fontProviderCerts="@[package:]array/array_resource" />
elementi:
<font-family>
Obbligatorio. Deve essere il nodo radice.

attributi:

android:fontProviderAuthority
Stringa. Obbligatorio. L'autorità del carattere che definisce la richiesta del carattere.
android:fontProviderPackage
Stringa. Obbligatorio. Il nome del pacchetto del carattere il provider da usare per la richiesta. Viene utilizzato per verificare e l'identità del provider.
android:fontProviderQuery
Stringa. Obbligatorio. La query stringa del carattere. Fai riferimento alla documentazione del fornitore di caratteri per informazioni sul formato stringa.
android:fontProviderCerts
Risorsa array. Obbligatorio. Definisce gli insiemi di hash per i certificati utilizzati per firmare questo provider. Questo è utilizzata per verificare l'identità del provider ed è richiesta solo se il provider non fa parte dell'immagine di sistema. Il valore può punta a un singolo elenco (una risorsa di array di stringhe) o a un elenco di elenchi (una risorsa array), in cui ogni singolo elenco rappresenta uno di hash di firma. Consulta le linee guida del tuo fornitore di caratteri documentazione per questi valori.
esempio:
File XML salvato alle ore 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 del certificato:

<?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 un TextView:

<?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!" />