Aggiungi un carattere come risorsa XML

Android 8.0 (livello API 26) introduce i caratteri in XML, una funzionalità consente di usare i caratteri come risorse. Puoi aggiungere il file font in la cartella res/font/ per raggruppare i caratteri come risorse. Questi caratteri vengono compilate nel tuo file R e sono disponibili automaticamente in Android Studio. Puoi accedere alle risorse dei caratteri utilizzando il tipo di risorsa font. Per ad esempio per accedere a una risorsa di carattere, usa @font/myfont o R.font.myfont.

Per utilizzare i caratteri nella funzionalità XML sui dispositivi con Android 4.1 (livello API 16) e versioni successive, utilizza Support Library 26.0. Per ulteriori informazioni sull'utilizzo della libreria di supporto, consulta Utilizza la sezione Libreria di supporto.

Per aggiungere caratteri come risorse, svolgi i passaggi che seguono in Android Casa di produzione:

  1. Fai clic con il tasto destro del mouse sulla cartella res e vai a Nuovo > Directory delle risorse Android. La Viene visualizzata la finestra Nuova directory delle risorse.
  2. Nell'elenco Tipo di risorsa, seleziona carattere, poi fai clic su Ok.

    Nota: il nome della directory delle risorse deve essere carattere.

    Aggiunta della directory delle risorse per i caratteri

    Figura 1. Aggiunta della directory delle risorse per il carattere.

  3. Aggiungi i file dei caratteri nella cartella font.

    La struttura di cartelle seguente genera R.font.dancing_script, R.font.lobster e R.font.typo_graphica.

    Aggiungi i file dei caratteri nella directory delle risorse

    Figura 2. Aggiunta dei file dei caratteri nella directory res/font.

  4. Fai doppio clic sul file dei caratteri per visualizzarne l'anteprima nell'editor. Anteprima del file dei caratteri

    Figura 3. Anteprima del file del carattere.

Creare una famiglia di caratteri

Una famiglia di caratteri è un insieme di file di caratteri, ognuno con i dettagli relativi a stile e spessore. In Android, puoi creare una nuova famiglia di caratteri come risorsa XML e accedere come singola unità, invece di fare riferimento a ogni stile e peso risorse separate. In questo modo, il sistema seleziona il carattere corretto in base allo stile di testo utilizzato.

Per creare una famiglia di caratteri, svolgi i passaggi che seguono in Android Studio:

  1. Fai clic con il tasto destro del mouse sulla cartella font e seleziona Nuovo > File di risorse per i caratteri. La finestra Nuovo file di risorse .
  2. Inserisci il nome del file e fai clic su OK. La nuova risorsa XML per i caratteri si apre nell'editor.
  3. Racchiudi ogni file di carattere, stile e attributo di peso nella Elemento <font>. Il seguente XML illustra l'aggiunta di attributi relativi ai caratteri nel file XML della risorsa font:
    <?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>
    

Utilizzare i caratteri nei layout XML

Utilizza i tuoi caratteri, un singolo file del carattere o uno di un famiglia di caratteri, in TextView o in stili usando Attributo fontFamily.

Nota: quando utilizzi una famiglia di caratteri, il TextView si attiva autonomamente, se necessario, per utilizzare dei caratteri della famiglia.

Aggiungere caratteri a TextView

Per impostare un carattere per TextView, esegui una delle seguenti operazioni: seguenti:

  • Nel file XML di layout, imposta l'attributo fontFamily su del carattere a cui vuoi accedere.
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/lobster"/>
    
  • Apri la finestra Proprietà per impostare il carattere per TextView.
    1. Seleziona una vista per aprire la finestra Proprietà.

      Nota: la finestra Proprietà è disponibile. solo quando l'editor di progettazione è aperto. Seleziona la scheda Design nella parte inferiore della finestra.

    2. Espandi la proprietà textAspetto e seleziona il carattere. dall'elenco fontFamily.
    3. Selezione del carattere dalle Proprietà

      Figura 4. Seleziona il carattere dalla finestra Proprietà.

L'anteprima del layout di Android Studio, mostrata nel riquadro di destra nella Figura 5. consente di visualizzare l'anteprima del set di caratteri in TextView.

Anteprima dei caratteri nell&#39;anteprima del layout

Figura 5. Visualizzazione dell'anteprima dei caratteri nell'anteprima del layout.

Aggiungere caratteri a uno stile

Apri il file styles.xml e imposta fontFamily al file del carattere a cui vuoi accedere.

  • <style name="customfontstyle" parent="@android:style/TextAppearance.Small">
        <item name="android:fontFamily">@font/lobster</item>
    </style>
    
  • Utilizzare i caratteri in modo programmatico

    Per recuperare i caratteri in modo programmatico, richiama il metodo getFont(int) e fornire il metodo l'identificatore di risorsa del carattere che vuoi recuperare. Questo metodo restituisce un Typeface oggetto. Anche se il sistema sceglie il tuo stile dal carattere informazioni, puoi utilizzare setTypeface(android.graphics.Typeface, int) per impostare il carattere tipografico con stili specifici.

    Nota: TextView lo fa per te.

    Kotlin

    val typeface = resources.getFont(R.font.myfont)
    textView.typeface = typeface
    

    Java

    Typeface typeface = getResources().getFont(R.font.myfont);
    textView.setTypeface(typeface);
    

    Utilizzare la libreria di supporto

    Support Library 26.0 supporta i caratteri in XML su dispositivi con Android 4.1 (livello API 16) e versioni successive.

    Nota: Quando dichiari le famiglie di caratteri nel layout XML tramite la libreria di supporto, Utilizza lo spazio dei nomi app per assicurarti che i caratteri vengano caricati.

    <?xml version="1.0" encoding="utf-8"?>
    <font-family xmlns:app="http://schemas.android.com/apk/res-auto">
        <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/>
        <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" />
    </font-family>
    

    Per recuperare i caratteri in modo programmatico, richiama il metodo metodo ResourceCompat.getFont(Context, int) e fornire un dell'istanza di Context e l'identificatore della risorsa.

    Kotlin

    val typeface = ResourcesCompat.getFont(context, R.font.myfont)
    

    Java

    Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);