Android framework 新增字體

Android framework 新增字體

記錄一下在工作中需要在framework中新增字體的步驟:
1.查看路徑為frameworks/base/data/fonts/下的文件,路徑就是定義了系統(tǒng)的默認(rèn)字體.
2.將新增的字體拷貝到此目錄下
3.修改fonts.mkPRODUCT_PACKAGES中新增字體
4.然后再修改此路徑下的Android.mk,在font_src_files中新增字體
5.最后在fonts.xml中仿照系統(tǒng)定義字體的方法定義新增字體,這樣就完成了修改
6.編譯此模塊就會產(chǎn)生/system/etc/fonts.xml,和新字體包/system/fonts/***.ttf,將此包push到手機(jī)中即可.

上述是新增字體的一般步驟,但是在實(shí)際的使用過成功,編譯此Android.mk并沒有新產(chǎn)生fonts.xml,如果此文件沒有更新,那么就不能push手機(jī)中生效.

由于修改的android版本是基于高通基線的,最后在/vendor/qcom/proprietary/qrdplus/globalization/engine中找到了frameworks/base/data/fonts/fonts.xml的overlay文件,所以在高通版本上增加系統(tǒng)默認(rèn)字體的方法為:

1.修改vendor下面的overlay文件fonts.xml,最好要在vender下面grep搜索哪一個(gè)*mk文件包含了fonts.xml,通過搜索之后發(fā)現(xiàn)在上述的目錄中存在,具體的代碼為:

include $(CLEAR_VARS)
LOCAL_MODULE := fonts.xml
LOCAL_SRC_FILES := fonts-Rev.xml
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT)/etc
include $(BUILD_PREBUILT)

發(fā)現(xiàn)此overlay的文件為fonts-Rev.xml.
2.拷貝新增的字體到此文件路徑下
3.在fonts-Rev.xml中仿照系統(tǒng)新增條目:

<family name="stheiti-light">
    <font weight="400" style="normal">STHeiti-Light.ttf</font>
</family>

4.在Android.mk定義

include $(CLEAR_VARS)
LOCAL_MODULE := STHeiti-Light.ttf
LOCAL_SRC_FILES := STHeiti-Light.ttf
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
include $(BUILD_PREBUILT)

5.執(zhí)行make STHeiti-Light.ttfmake fonts.xml,即可生成文件,拷貝到手機(jī)中重啟就生效了.
6.在代碼中使用方法為:

android:fontFamily="stheiti-light"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評論 25 708
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,899評論 2 45
  • 版權(quán)說明:本文為 開開向前沖 原創(chuàng)文章,轉(zhuǎn)載請注明出處;注:限于作者水平有限,文中有不對的地方還請指教 背景: 最...
    開開向前沖閱讀 13,000評論 0 6
  • 我們送走春天,也送走冬天 我渴求相逢,也渴求離別 我提醒自己 我的生命,是一條筆直的道 所有人都只是恰好出現(xiàn)在那個(gè)...
    鯨靜閱讀 227評論 1 0
  • 追求沒有終點(diǎn), 為了美好的明天, 只管勇往直前。
    黃納新閱讀 354評論 0 2

友情鏈接更多精彩內(nèi)容