Una delle caratteristiche davvero interessanti per gli sviluppatori android 8.0 (livello API 26) introduce, Fonts in XML, che ci permette di utilizzare i fonts come risorse. Possiamo aggiungere il file font
nella cartella res/font/
per raggruppare i font come risorse. Questi font sono compilati nel file R
e sono automaticamente disponibili in Android Studio.
Per utilizzare la funzione Fonts in XML su dispositivi che eseguono Android 4.1 (livello API 16) e superiori, dobbiamo utilizzare la Support Library 26. Per aggiungere i font come risorse, esegui i seguenti passi in Android Studio:
- Fai clic con il tasto destro del mouse sulla cartella res e vai su Nuova > Directory risorse Android. – Viene visualizzata la finestra New Resource Directory.
- Nell’elenco Resource type, seleziona
font
, quindi fai clic su OK. - Nota: il nome della directory delle risorse deve essere font.
Aggiungi i tuoi file di font nella cartella font
- Aggiungi i tuoi font
ttf
ootf
nella cartella font. La struttura della cartella appare come segue.
- Puoi fare doppio clic su un file font per vedere in anteprima i font del file nell’editor.
Crea famiglia di font
Per creare una famiglia di font, esegui i seguenti passi in Android Studio:
- Fai clic con il tasto destro del mouse sulla cartella
font
e vai su Nuovo > File risorse font. Appare la finestra New Resource File. - Inserisci il nome del file e poi clicca su OK. Il nuovo XML delle risorse di font si apre nell’editor.
- Chiudi ogni file di font, stile e attributo di peso nell’elemento
<font>
. Il seguente XML illustra l’aggiunta di attributi relativi ai font nell’XML delle risorse di font:
Usa questo font
Ora puoi usare questo font nella tua applicazione nei seguenti modi –
- usare il font direttamente nel file di layout
- usare il utilizzare il font programmaticamente
- utilizzare il font tramite lo stile e il tema dell’app (questo è il modo migliore)
utilizzare il font direttamente nel file di layout
- Nel file XML del layout, imposta l’attributo
fontFamily
al file di font a cui vuoi accedere.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto_fonts_family"/>
Utilizza il font programmaticamente
- Puoi anche impostare il font programmaticamente. Per impostare il font programmaticamente segui i codici seguenti.
Typeface typeface = ResourcesCompat.getFont(this, R.font.roboto);
.............or........................
Typeface typeface = getResources.getFont(R.font.roboto);textView.setTypeface(typeface);
Usa il font tramite stile e tema App
Apri il styles.xml
, e imposta l’attributo fontFamily
sul file del font a cui vuoi accedere.
# Using the font via app theme....(this is the best way)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
....
<item name="android:fontFamily">@font/roboto_fonts_family</item>
</style>
-----------------------------------------------------------
# Using the font via style. Now you can add this style wherever you want.
<style name="customfontstyle">
<item name="android:fontFamily">@font/roboto_fonts_family</item>
</style>
Scarica Google Fonts per la tua App
fase 1: Seleziona una vista testo nella tua app e clicca sull’attributo fontFamily sotto Attributi nel layout grafico.
step 2: Seleziona il "More Fonts…"
in basso, che aprirà la finestra di dialogo sottostante. Poi vedrete una nuova finestra che si aprirà, lì potete digitare il vostro font richiesto e desiderato da quella lista cioè) Regular, Bold, Italic ecc. come mostrato nell’immagine sottostante.