Zasoby czcionek
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zasób czcionki definiuje niestandardową czcionkę, której możesz użyć w aplikacji. Czcionki
mogą to być pojedyncze pliki czcionek lub zbiór plików czcionek, tzw.
i zdefiniowane w kodzie XML.
Zobacz też, jak zdefiniować czcionki
w pliku XML lub zamiast tego użyj czcionek do pobrania.
Czcionka w pakiecie
Możesz łączyć czcionki jako zasoby w aplikacji. Czcionki są zbierane w
R
i są automatycznie dostępne w systemie jako pliki
. Możesz uzyskać do nich dostęp, korzystając z
font
typ zasobu.
- lokalizacja pliku:
- ,
res/font/filename.ttf
(.ttf
, .ttc
, .otf
lub
.xml
)
Nazwa pliku jest używana jako identyfikator zasobu.
- odniesienie do zasobu:
- W pliku XML:
@[package:]font/font_name
- składnia:
-
<?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>
- elementy:
-
<font-family>
- Wymagane. Musi to być węzeł główny.
Brak atrybutów.
<font>
- – definiuje jedną czcionkę w obrębie rodziny. Nie zawiera węzłów podrzędnych.
Atrybuty:
android:fontStyle
- Słowo kluczowe. Określa styl czcionki. Ten atrybut jest
używany, gdy czcionka jest wczytywana do stosu czcionek i zastępuje ją
wszystkie informacje o stylu z tabel nagłówków. Jeśli nie chcesz
określić atrybut, aplikacja użyje wartości z atrybutu
tabeli nagłówka. Stała wartość to albo
normal
lub italic
.
android:fontWeight
- Liczba całkowita. Grubość czcionki. Ten atrybut jest
używany, gdy czcionka jest wczytywana do stosu czcionek i zastępuje ją
wszystkich informacji o wadze w tabelach nagłówka danej czcionki.
wartość atrybutu musi być wielokrotnością
100 między 100 a 900 włącznie. Jeśli nie określisz
aplikacji, aplikacja użyje wartości z nagłówka czcionki
tabeli. Najczęstsze wartości to 400 dla wagi standardowej i 700
dla pogrubionej wagi.
- przykład:
- Plik XML zapisany o
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>
Plik XML zapisany w folderze res/layout/
, który stosuje czcionkę do
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!" />
Czcionka do pobrania
Zasób czcionki do pobrania definiuje niestandardową czcionkę, której można użyć w
. Czcionka nie jest dostępna w samej aplikacji. Zamiast tego czcionka to
pobrane od dostawcy czcionek.
- lokalizacja pliku:
- ,
res/font/filename.xml
Nazwa pliku to identyfikator zasobu.
- odniesienie do zasobu:
- W pliku XML:
@[package:]font/font_name
- składnia:
-
<?xml version="1.0" encoding="utf-8"?>
<font-family
android:fontProviderAuthority="authority"
android:fontProviderPackage="package"
android:fontProviderQuery="query"
android:fontProviderCerts="@[package:]array/array_resource" />
- elementy:
-
<font-family>
- Wymagane. Musi to być węzeł główny.
atrybuty:
android:fontProviderAuthority
- Ciąg znaków. Wymagany. autorytet czcionki,
dostawcy, który definiuje żądanie czcionki.
android:fontProviderPackage
- Ciąg znaków. Wymagany. Nazwa pakietu czcionki
usługodawcy. Służą one do weryfikowania
dostawcy usług.
android:fontProviderQuery
- Ciąg znaków. Wymagany. Zapytanie w postaci ciągu znaków dotyczące czcionki.
Zapoznaj się z dokumentacją dostawcy czcionek dotyczącą formatu tej czcionki.
ciągu znaków.
android:fontProviderCerts
- Zasób tablicy. Wymagany. Definiuje zbiory
hasze certyfikatów używanych do podpisywania tego dostawcy. To jest
służy do weryfikacji tożsamości dostawcy i jest wymagana tylko
jeśli dostawca nie jest częścią obrazu systemu. Wartość może
wskaż pojedynczą listę (zasób tablicy z ciągami znaków) lub listę list
(zasób tablicy), gdzie każda lista reprezentuje jedną
zbieranie haszy podpisu. Zapoznaj się z
dokumentację tych wartości.
- przykład:
- Plik XML zapisany o
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>
Plik XML zapisany w zasadzie res/values/
, który definiuje tablicę certyfikatu:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="certs">
<item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
</string-array>
</resources>
Plik XML zapisany w folderze res/layout/
, który stosuje czcionkę do
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!" />
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Font resources\n\nA font resource defines a custom font that you can use in your app. Fonts\ncan be individual font files or a collection of font files, known as a\nfont family and defined in XML.\n\nAlso see how to define [fonts\nin XML](/guide/topics/ui/look-and-feel/fonts-in-xml) or instead use [Downloadable Fonts](/guide/topics/ui/look-and-feel/downloadable-fonts).\n\nBundled font\n------------\n\n\nYou can bundle fonts as resources in an app. Fonts are compiled in the\n`R` file and are automatically available in the system as a\nresource. You can then access these fonts with the help of the\n`font` resource type.\n\nfile location:\n: `res/font/`*filename*`.ttf`\n (`.ttf`, `.ttc`, `.otf`, or\n `.xml`) \n\n The filename is used as the resource ID.\n\nresource reference:\n: In XML: `@[package:]font/`*font_name*\n\nsyntax:\n:\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cfont-family\u003e\n \u003cfont\n android:font=\"@[package:]font/font_to_include\"\n android:fontStyle=[\"normal\" | \"italic\"]\n android:fontWeight=\"weight_value\" /\u003e\n \u003c/font-family\u003e\n ```\n\nelements:\n:\n\n `\u003cfont-family\u003e`\n : **Required.** This must be the root node.\n\n No attributes.\n\n `\u003cfont\u003e`\n\n : Defines a single font within a family. Contains no child nodes. Attributes:\n\n `android:fontStyle`\n : *Keyword* . Defines the font style. This attribute is\n used when the font is loaded into the font stack and overrides\n any style information in the font's header tables. If you don't\n specify the attribute, the app uses the value from the font's\n header tables. The constant value is either\n `normal` or `italic`.\n\n `android:fontWeight`\n : *Integer*. The weight of the font. This attribute is\n used when the font is loaded into the font stack and overrides\n any weight information in the font's header tables. The\n attribute value must be a multiple\n of 100 between 100 and 900, inclusive. If you don't specify\n the attribute, the app uses the value from the font's header\n tables. The most common values are 400 for regular weight and 700\n for bold weight.\n\nexample:\n : XML file saved at `res/font/lobster.xml`: \n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cfont-family xmlns:android=\"http://schemas.android.com/apk/res/android\"\u003e\n \u003cfont\n android:fontStyle=\"normal\"\n android:fontWeight=\"400\"\n android:font=\"@font/lobster_regular\" /\u003e\n \u003cfont\n android:fontStyle=\"italic\"\n android:fontWeight=\"400\"\n android:font=\"@font/lobster_italic\" /\u003e\n \u003c/font-family\u003e\n ```\n\n XML file saved in `res/layout/` that applies the font to a\n [TextView](/reference/android/widget/TextView):\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cEditText\n android:fontFamily=\"@font/lobster\"\n android:layout_width=\"fill_parent\"\n android:layout_height=\"wrap_content\"\n android:text=\"Hello, World!\" /\u003e\n ```\n\nDownloadable font\n-----------------\n\n\nA downloadable font resource defines a custom font that you can use in an\napp. This font isn't available in the app itself. Instead, the font is\nretrieved from a font provider.\n\nfile location:\n: `res/font/`*filename*`.xml`\n The filename is the resource ID.\n\nresource reference:\n: In XML:`@[package:]font/`*font_name*\n\nsyntax:\n:\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cfont-family\n android:fontProviderAuthority=\"authority\"\n android:fontProviderPackage=\"package\"\n android:fontProviderQuery=\"query\"\n android:fontProviderCerts=\"@[package:]array/array_resource\" /\u003e\n ```\n\nelements:\n:\n\n `\u003cfont-family\u003e`\n : **Required.** This must be the root node.\n\n attributes:\n\n `android:fontProviderAuthority`\n : *String* . **Required**. The authority of the font\n provider that defines the font request.\n\n `android:fontProviderPackage`\n : *String* . **Required**. The package name of the font\n provider to be used for the request. This is used to verify the\n identity of the provider.\n\n `android:fontProviderQuery`\n : *String* . **Required**. The string query of the font.\n Refer to your font provider's documentation on the format of this\n string.\n\n `android:fontProviderCerts`\n : *Array resource* . **Required**. Defines the sets of\n hashes for the certificates used to sign this provider. This is\n used to verify the identity of the provider and is only required\n if the provider isn't part of the system image. The value can\n point to a single list (a string array resource) or a list of lists\n (an array resource), where each individual list represents one\n collection of signature hashes. Refer to your font provider's\n documentation for these values.\n\n\nexample:\n : XML file saved at `res/font/lobster.xml`: \n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cfont-family xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:fontProviderAuthority=\"com.example.fontprovider.authority\"\n android:fontProviderPackage=\"com.example.fontprovider\"\n android:fontProviderQuery=\"Lobster\"\n android:fontProviderCerts=\"@array/certs\"\u003e\n \u003c/font-family\u003e\n ```\n\n XML file saved in `res/values/` that defines the cert array:\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cresources\u003e\n \u003cstring-array name=\"certs\"\u003e\n \u003citem\u003eMIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...\u003c/item\u003e\n \u003c/string-array\u003e\n \u003c/resources\u003e\n ```\n\n XML file saved in `res/layout/` that applies the font to a\n [TextView](/reference/android/widget/TextView):\n\n ```xml\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cEditText\n android:fontFamily=\"@font/lobster\"\n android:layout_width=\"fill_parent\"\n android:layout_height=\"wrap_content\"\n android:text=\"Hello, World!\" /\u003e\n ```"]]