Android復習(二)應用資源——>字體
字體資源定義了可在應用中使用的自定義字體。字體可以是單獨的字體文件或字體文件的集合,稱為字體系列,并在 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>
- 元素:
- 示例:
- 保存于
res/font/lobster.xml的 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>
將字體應用于
TextView的 XML 文件保存在res/layout/中:<?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" /> - 元素:
- 示例:
- 保存于
res/font/lobster.xml的 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>
將字體應用于
TextView的 XML 文件保存在res/layout/中:<?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!" />

浙公網安備 33010602011771號