您現在可以使用執行階段資源重疊 (RRO) 變更字型。新增自訂欄位 製作字型套件,可使用主題中的字型,並透過 RRO 套用 自訂模式。
完成這些工作:
如需範例檔案結構和範例檔案,請前往 custom-fonts.zip。 下載這個檔案,然後將檔案解壓縮至本機以便使用。
建立字型套件
如何建立字型套件:
- 將所有字型
ttf
檔案新增至vendor
個分區。例如:vendor/[oem]/fonts/[oem]-sans/
- 為字型套件建立
Android.mk
檔案。例如:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- 確認模組會安裝在
product
etc
資料夾。為此,請確認模組具有下列旗標:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
以上程式碼範例說明字型套件模組的完整定義。
- 為字型套件建立名為
fonts.mk
的檔案,然後新增字型 將ttf
個檔案新增至「PRODUCT_PACKAGES
」。例如:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
例如:
PRODUCT_PACKAGES := \ [font name].ttf \
建立裝置疊加套件
- 建立名為
fonts_customization.xml
的模組,並新增至建構作業。 此模組指向包含該字型的fonts_customization.xml
檔案 系列,並呼叫所有字型套件的組成檔案。例如:vendor/[oem]/[device]_overlay/fonts/Android.mk
- 建立字型系列:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
檔案的根層級必須是
fonts-modification
標記。新增 此元素下每個字型套件的字型系列。此外,請將 每個字型系列customizationType="new-named-family"
,以及 並確認每個都有name
屬性這個名稱稍後能用來存取 以及字型系列這個檔案必須新增至fonts_customizations.xml
先前在Android.mk
中定義的模組。以上範例包含有效的
fonts_customization.xml
檔案。 - 建立
fonts.mk
。例如:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- 在
PRODUCT_PACKAGES
標記下新增fonts_customization.xml
。 - 呼叫每個先前建立的字型套件。
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- 將字型模組新增至
PRODUCT_PACKAGES
底下的建構作業,然後重新建構。 系統會在系統上安裝字型。 - 確認
ttf
字型檔案位於 裝置上的/product/fonts
個資料夾。 - 驗證
fonts_customization.xml
是否位於以下項目的/product/etc/
: 裝置。
使用新系統字型系列
如何使用新系統字型系列:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>