Ресурс шрифта определяет собственный шрифт, который вы можете использовать в своем приложении. Шрифты могут представлять собой отдельные файлы шрифтов или набор файлов шрифтов, известный как семейство шрифтов и определенный в XML.
Также узнайте, как определить шрифты в XML или вместо этого использовать загружаемые шрифты .
Шрифт в комплекте
Вы можете объединить шрифты в качестве ресурсов в приложении. Шрифты компилируются в файл R
и автоматически доступны в системе как ресурс. Затем вы можете получить доступ к этим шрифтам с помощью типа ресурса font
.
- расположение файла:
-
res/font/ filename .ttf
(.ttf
,.ttc
,.otf
или.xml
)
Имя файла используется в качестве идентификатора ресурса. - ссылка на ресурс:
- В XML:
@[package:]font/ font_name
- синтаксис:
<?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>
- элементы:
- пример:
- XML-файл, сохраненный в
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>
XML-файл, сохраненный в
res/layout/
, который применяет шрифт к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!" />
Загружаемый шрифт
Загружаемый ресурс шрифта определяет собственный шрифт, который вы можете использовать в приложении. Этот шрифт недоступен в самом приложении. Вместо этого шрифт извлекается из поставщика шрифтов.
- расположение файла:
-
res/font/ filename .xml
Имя файла — это идентификатор ресурса. - ссылка на ресурс:
- В XML:
@[package:]font/ font_name
- синтаксис:
<?xml version="1.0" encoding="utf-8"?> <font-family android:fontProviderAuthority="authority" android:fontProviderPackage="package" android:fontProviderQuery="query" android:fontProviderCerts="@[package:]array/array_resource" />
- элементы:
- пример:
- XML-файл, сохраненный в
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>
XML-файл, сохраненный в
res/values/
, который определяет массив сертификатов:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
XML-файл, сохраненный в
res/layout/
, который применяет шрифт к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!" />