字体资源定义了您可以在应用中使用的自定义字体。字体可以是单个字体文件,也可以是字体文件的集合(称为字体系列,并在 XML 中定义)。
捆绑字体
您可以将字体作为资源捆绑在应用中。字体会被编译到 R
文件中,并作为资源自动在系统中可用。然后,您可以通过 font
资源类型访问这些字体。
- 文件位置
res/font/filename.ttf
(`.ttf`、`.ttc`、`.otf` 或 `.xml`)
文件名用作资源 ID。- 资源引用
- 在 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>
保存到
res/layout/
且将字体应用到TextView
的 XML 文件<?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
文件名是资源 ID。- 资源引用
- 在 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>
保存到
res/values/
且定义证书数组的 XML 文件<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
保存到
res/layout/
且将字体应用到TextView
的 XML 文件<?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!" />