MTK主題風格追蹤

2021-05-21 12:44:24 字數 1674 閱讀 9866

剛接觸mtk的人也許會感覺到它的主題風格很神奇,感覺只要稍微的改一些東西就可以改變使其風格

迥異,控制風格的這些東西何去何從呢?雖然不知道路徑也不會影響任何的工作,可是知道還是好一

些,畢竟心裡亮堂一些。以前曾經查過它的路徑,可是當時感覺亂亂的,後來因為有事就放在一邊了

,今天閒來無事,就找了一下,沒想到還真找到了一條路徑,不過沒有經過驗證,還請各位高手給知

道一下!

大家都知道,我們修改字型顏色,填充顏色等主題風格時只要在themecomponents.h裡找到相應的參

數改一下就行了,那麼,這些引數在那裡使用呢?我們可以在themeres.c裡找到它們的身影,在變數

theme_defaulttheme裡它們一一呈現在我們眼前,現在我們需要找theme_defaulttheme在那裡用

的了。呵呵,它還在這個檔案裡,找一下mtk_mmi_themes[max_mmi_themes],我們發現

theme_defaulttheme做為它的一員而存在(也許是僅有的一員哦)。再找下去!令我們意外的是在

乙個很陌生的檔案裡我們找到了它:resource_image_jtbl.c裡的image2ndjumptbl第三個成員就是它了。然後我們搜尋image2ndjumptbl,在standaloneres.c檔案裡的函式

void initializeresourcevariables(void)裡,我們發現這樣乙個賦值:

mmi_themes = (mmi_theme **) (image2ndjumptbl[2]);

這不就是image2ndjumptbl嗎?現在我們總算看到了一絲希望了,因為繼續找下去會來到

void wgui_init(void)這個函式,很熟悉吧,在往下看,

set_mmi_theme((mmi_theme*) mmi_themes[0]);不就是我們的目的地嗎?

廢話了這麼多,其實也就是下面這幾行:

函式或檔案                變數或語句

themecomponents.h         相應變數                       ->

themeres.c                theme_defaulttheme             ->

themeres.c                mtk_mmi_themes[max_mmi_themes] ->

resource_image_jtbl.c     image2ndjumptbl              ->

void initializeresourcevariables(void)

mmi_themes = (mmi_theme **) (image2ndjumptbl[2]);->

void wgui_init(void)      set_mmi_theme((mmi_theme*) mmi_themes[0]);

MTK主題修改

軟體版本0852 先看wgui 的初始化,在wgui.c 檔案wgui init void 函式。裡面有 set mmi theme mmi theme mmi themes 0 gui initialize default themes 下面是一些常用主題修改時要修改的一些變數 ui filled...

Flutter中主題風格

flutter中主題風格可通過theme主題,那麼應用程式中的某些widget,就會直接使用主題的樣式。一 全域性theme theme themedata 1.亮度 brightness brightness.light,2.primaryswatch傳入不是color,而是materialcol...

Style 風格 和 Theme 主題

當你設計你的程式的時候,你可以用style 風格 和theme 主題 來統一格式化各種螢幕和ui元素。風格是乙個包含一種或者多種格式化屬性的集合,你可以將其用為乙個單位用在布局xml單個元素當中。比如,你可以定義一種風格來定義字型大小大小和顏色,然後將其用在view元素的乙個特定的例項。主題是乙個包...