Android 新增中文medium字型

2021-09-26 08:39:39 字數 2504 閱讀 5521

2.1 android字型顯示框架圖

android顯示字型medium字型主要流程:

a).view布局檔案或者**中選擇medium字型

b).framework根據view設定的字型選擇相應medium的字型庫

c).根據framework提供的字型庫skia引擎繪製相應medium的字型

主要流程圖如下:

3. notosanscjksc-medium中文字型使用方法

android可以在布局檔案和**中使用中文medium的字型樣式。

3.1 布局檔案使用中文notosanscjksc-medium字型

在資源布局檔案中相關view中設定android:fontfamily=「sans-serif-medium」,例如在textview中:

1.
3.2	**中使用notosanscjksc-medium字型

1. textview textview = (textview) findviewbyid(r.id.textview);

2. typeface font = typeface.create("sans-serif-medium", typeface.normal);

3. textview.settypeface(font);

android啟動載入notosanscjksc-medium流程

如果要系統預設支援medium字型,必須在android在啟動過程預載入我們新增的notosanscjksc-medium字型庫,載入完成後,我們可以參考使用英文medium字型方式使用中文notosanscjksc-medium字型庫。

android啟動載入相關模組如下:

zygoteinit:

負責系統各種類、鏈結庫、資源等進行初始化,這裡使用preload載入字型庫資源管理類typeface的初始化。

typeface:

字型資源主要管理者,其主要解析font.xml相關的字型庫進行載入,建立對應的字型樣式(normal、medium和bold)設定以及對上層提供建立字型功能的呼叫。最重要的是會載入我們預置到系統中notosanscjksc-medium.otf,建立notosanscjksc-medium字型的(normal、bold和medium)三種樣式。

native:

接受上層傳遞的字型庫,建立對應的字型庫和對應字型樣式。這裡根據上層指定的字型庫使用skia影象引擎對相關字型進行繪製。 然後顯示到對應的view中

android啟動載入notosanscjksc-medium字型庫主要時序圖如下所示:

notosanscjksc-medium預置到系統

5.1.1 打包字型資源到原始碼中

拷貝支援medium中文字型庫(notosanscjksc-medium.otf)到原始碼frameworks/base/data/fonts目錄下

5.1.2 修改編譯打包規則檔案

1、修改frameworks/base/data/fonts/fonts.mk,新增如下內容

1.		product_packages := \  

2. + notosanscjksc-medium.otf \

2、修改frameworks/base/data/fonts/android.mk ,新增如下內容:

1.		font_src_files := \  

2. notosanscjksc-medium.otf \

3. androidclock.ttf

5.1.3 新增字型庫notosanscjksc-medium到到font.xml配置檔案

1.	--- a/data/fonts/fonts.xml  

2. +++ b/data/fonts/fonts.xml

3. @@ -474,13 +474,13 @@

4. 5. notosanscjk-regular.ttc

6.

7. + notosanscjksc-medium.otf

8.

9.

10. 11. notosanscjk-regular.ttc

12.

13. + notosanscjksc-medium.otf

14.

15. 16. notosanscjk-regular.ttc

Android新增onKeyLongPress事件

在應用開發當中,有的時候需要捕捉按鍵的長按事件,從android2.0開始,activity當中就包含public 方法boolean onkeylongpress int keycode keyevent event 按照正常的開發流程,為了響應onkeylongpress事件,我們需要過載onk...

python 新增中文注釋

通常,python源 必須完全由ascii集合組成,如果直接在python中新增中文注釋的時候,python執行時會引發異常,告知非ascii字元語法錯誤。syntaxerror non ascii character xd5 in file d project python sort quick ...

python 新增中文注釋

通常,python源 必須完全由ascii集合組成,如果直接在python中新增中文注釋的時候,python執行時會引發異常,告知非ascii字元語法錯誤。syntaxerror non ascii character xd5 in file d project python sort quick ...