Android 8.0 (poziom API 26) wprowadza czcionki w formacie XML – funkcję
pozwala używać czcionek jako zasobów. Plik font
możesz dodać w
res/font/
, aby grupować czcionki jako zasoby. Te czcionki
są kompilowane w pliku R
i automatycznie dostępne
Android Studio. Dostęp do zasobów czcionek możesz uzyskać, korzystając z typu zasobu font
. Dla:
np. aby uzyskać dostęp do zasobu czcionek,
użyj @font/myfont
lub R.font.myfont
.
Korzystanie z funkcji czcionek w formacie XML na urządzeniach z Androidem 4.1 (poziom interfejsu API 16) i nowsze muszą korzystać z Biblioteki pomocy w wersji 26.0. Więcej informacji na temat konfiguracji na temat korzystania z Biblioteki pomocy, zapoznaj się z Skorzystaj z sekcji Biblioteka pomocy.
Aby dodać czcionki jako zasoby, wykonaj te czynności na Androidzie Studio:
- Kliknij prawym przyciskiem myszy folder res i wybierz Nowe > Katalog zasobów Androida. Pojawi się okno New Resource Directory (Nowy katalog zasobów).
- Na liście Typ zasobu wybierz czcionka, a następnie kliknij
OK.
Uwaga: katalog zasobów musi mieć nazwę czcionka.
- Dodaj pliki czcionek do folderu
font
.Poniższa struktura folderów generuje
R.font.dancing_script
,R.font.lobster
iR.font.typo_graphica
- Kliknij dwukrotnie plik czcionek, aby wyświetlić podgląd czcionek z pliku w edytorze.
Tworzenie rodziny czcionek
Rodzina czcionek to zestaw plików czcionek wraz ze szczegółami dotyczącymi stylu i grubości czcionki. W Androidzie możesz utworzyć nową rodzinę czcionek jako zasób XML i uzyskać dostęp jako pojedynczą jednostkę, zamiast odwoływać się do poszczególnych stylów i wagi i osobnymi zasobami. Pozwala to systemowi wybrać właściwą czcionkę zgodnie ze stylem tekstu.
Aby utworzyć rodzinę czcionek, wykonaj te czynności w Android Studio:
- Kliknij prawym przyciskiem myszy folder
font
i wybierz Nowe > Plik zasobów czcionki. Okno Nowy plik zasobu - Wpisz nazwę pliku i kliknij OK. Nowy kod XML zasobu czcionki Plik otworzy się w edytorze.
- Umieść każdy plik czcionki, styl i atrybut grubości w sekcji
<font>
element. Poniższy kod XML ilustruje dodawanie atrybuty związane z czcionkami w pliku XML zasobu czcionek:<?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, zarówno pojedynczych plików, jak i czcionek z
rodzina czcionek w języku: TextView
obiektów lub stylów, korzystając z
fontFamily
.
Uwaga: jeśli używasz rodziny czcionek, atrybut
W razie potrzeby TextView
przełącza się samodzielnie, aby używać
plików czcionek z tej rodziny.
Dodawanie czcionek do obiektu TextView
Aby ustawić czcionkę dla tekstu TextView
, wykonaj jedną z
:
- W pliku XML układu ustaw atrybut
fontFamily
na wartość 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 Właściwości i ustaw czcionkę
TextView
- Wybierz widok, aby otworzyć okno Właściwości.
Uwaga: dostępne jest okno Właściwości tylko wtedy, gdy edytor projektu jest otwarty. Wybierz kartę Design (Projekt) do dołu okna.
- Rozwiń właściwość textAppearance i wybierz czcionkę z listy fontFamily.
- Wybierz widok, aby otworzyć okno Właściwości.
Podgląd układu Android Studio widoczny w panelu po prawej stronie na ilustracji 5.
umożliwia wyświetlenie podglądu czcionki ustawionej w interfejsie TextView
.
Dodawanie czcionek do stylu
Otwórz plik styles.xml
i ustaw fontFamily
do pliku czcionek, do którego chcesz uzyskać dostęp.
<style name="customfontstyle" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/lobster</item> </style>
Automatyczne używanie czcionek
Aby automatycznie pobierać czcionki, wywołaj metodę
getFont(int)
i podaj parametr
identyfikator zasobu czcionki, którą chcesz pobrać. Ta metoda zwraca błąd
Typeface
obiekt. System wybiera jednak najlepsze
stylu odpowiedni dla Ciebie informacji, możesz użyć funkcji
setTypeface(android.graphics.Typeface, int)
aby ustawić krój czcionki z określonymi stylami.
Uwaga: 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 technicznej 26.0 obsługuje czcionki w formacie XML na urządzeniach z Androidem 4.1 (poziom interfejsu API 16) lub nowszym.
Uwaga: Gdy zadeklarujesz rodziny czcionek w układzie XML za pomocą biblioteki pomocy, użyj przestrzeni nazw app, aby upewnić się, że Twoje 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 automatycznie pobierać czcionki, wywołaj metodę
ResourceCompat.getFont(Context, int)
i podaj wartość
instancję Context
i identyfikator zasobu.
Kotlin
val typeface = ResourcesCompat.getFont(context, R.font.myfont)
Java
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);