Android 8.0 (interfejs API na poziomie 26) wprowadza czcionki w XML, czyli funkcję, która
umożliwia używanie czcionek jako zasobów. Aby dołączyć czcionki jako zasoby, możesz dodać plik font w
folderze res/font/ Te czcionki
są kompilowane w pliku R i są automatycznie dostępne w
Android Studio. Dostęp do zasobów czcionek możesz uzyskać za pomocą typu zasobu font. Aby na
przykład uzyskać dostęp do zasobu czcionki,
użyj @font/myfont lub R.font.myfont.
Aby używać funkcji czcionek w XML na urządzeniach z Androidem 4.1 (poziom interfejsu API 16) lub nowszym, użyj Biblioteki pomocy 26.0. Więcej informacji o korzystaniu z Biblioteki pomocy znajdziesz w sekcji Korzystanie z Biblioteki pomocy.
Aby dodać czcionki jako zasoby, wykonaj te czynności w Android Studio:
- Kliknij prawym przyciskiem myszy folder res i wybierz New > Android resource directory (Nowy > Katalog zasobów Androida). Pojawi się okno New Resource Directory (Nowy katalog zasobów).
- Na liście Resource type (Typ zasobu) wybierz font (czcionka), a potem kliknij
OK.
Uwaga: nazwa katalogu zasobów musi brzmieć font.
Rysunek 1. Dodawanie katalogu zasobów czcionek.
- Dodaj pliki czcionek w folderze
font.Poniższa struktura folderów generuje
R.font.dancing_script,R.font.lobsteriR.font.typo_graphica.
Rysunek 2. Dodawanie plików czcionek w katalogu
res/font. - Kliknij dwukrotnie plik czcionki, aby wyświetlić podgląd czcionek w edytorze.
Rysunek 3. Wyświetlanie podglądu pliku czcionki.
Tworzenie rodziny czcionek
Rodzina czcionek to zestaw plików czcionek wraz ze szczegółami dotyczącymi stylu i grubości. W Androidzie możesz utworzyć nową rodzinę czcionek jako zasób XML i uzyskać do niej dostęp jako do pojedynczej jednostki, zamiast odwoływać się do każdego stylu i grubości jako do osobnych zasobów. Dzięki temu system może wybrać odpowiednią czcionkę na podstawie używanego stylu tekstu.
Aby utworzyć rodzinę czcionek, wykonaj te czynności w Android Studio:
- Kliknij prawym przyciskiem myszy folder
fonti wybierz New > Font resource file (Nowy > Plik zasobu czcionki). Pojawi się okno New Resource File (Nowy plik zasobu) . - Wpisz nazwę pliku i kliknij OK. Nowy plik XML zasobu czcionki otworzy się w edytorze.
- Każdy plik czcionki, styl i atrybut grubości umieść w elemencie
<font>. Poniższy kod XML pokazuje, jak dodać atrybuty związane z czcionką w pliku XML zasobu czcionki:<?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>
Używanie czcionek w układach XML
Używaj czcionek, pojedynczego pliku czcionki lub czcionki z
rodziny czcionek, w TextView
obiektach lub w stylach za pomocą
fontFamily atrybutu.
Uwaga: gdy używasz rodziny czcionek, element
TextView przełącza się w razie potrzeby na pliki czcionek z tej rodziny.
Dodawanie czcionek do elementu TextView
Aby ustawić czcionkę dla elementu TextView, wykonaj jedną z tych
czynności:
- W pliku XML układu ustaw atrybut
fontFamilyna plik czcionki, do którego chcesz uzyskać dostęp.<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/lobster"/>
- Otwórz okno Properties, aby ustawić czcionkę dla elementu
TextView.- Wybierz widok, aby otworzyć okno Properties (Właściwości).
Uwaga: okno Properties (Właściwości) jest dostępne tylko wtedy, gdy otwarty jest edytor projektu. U dołu okna wybierz kartę Design (Projekt).
- Rozwiń właściwość textAppearance, a następnie wybierz czcionkę z listy fontFamily.
-
Rysunek 4. Wybieranie czcionki w oknie Properties (Właściwości).
- Wybierz widok, aby otworzyć okno Properties (Właściwości).
Podgląd układu w Android Studio, widoczny w panelu po prawej stronie na rysunku 5,
umożliwia wyświetlenie podglądu czcionki ustawionej w elemencie TextView.
Rysunek 5. Wyświetlanie podglądu czcionek w podglądzie układu.
Dodawanie czcionek do stylu
Otwórz plik styles.xml i ustaw atrybut fontFamily
na plik czcionki, do którego chcesz uzyskać dostęp.
<style name="customfontstyle" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/lobster</item> </style>
Używanie czcionek w sposób zautomatyzowany
Aby pobrać czcionki w sposób zautomatyzowany, wywołaj metodę
getFont(int) i podaj
identyfikator zasobu czcionki, którą chcesz pobrać. Ta metoda zwraca a
Typeface obiekt. Chociaż system wybiera najlepszy
styl na podstawie informacji o czcionkach, możesz użyć
setTypeface(android.graphics.Typeface, int)
metody, aby ustawić krój pisma z określonymi stylami.
Uwaga: Element TextView
robi to za Ciebie.
Kotlin
val typeface = resources.getFont(R.font.myfont) textView.typeface = typeface
Java
Typeface typeface = getResources().getFont(R.font.myfont); textView.setTypeface(typeface);
Korzystanie z biblioteki pomocy
Biblioteka pomocy 26.0 obsługuje czcionki w XML na urządzeniach z Androidem 4.1 (poziom interfejsu API 16) lub nowszym.
Uwaga: Gdy deklarujesz rodziny czcionek w układzie XML za pomocą biblioteki Support Library, użyj przestrzeni nazw app, aby mieć pewność, że czcionki się wczytają.
<?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>
Aby pobrać czcionki w sposób zautomatyzowany, wywołaj metodę
ResourceCompat.getFont(Context, int) i podaj instancję Context oraz identyfikator zasobu.
Kotlin
val typeface = ResourcesCompat.getFont(context, R.font.myfont)
Java
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);