最簡單的MTK平台視窗過渡特效

2021-08-24 19:52:55 字數 1209 閱讀 7281

前幾年隨著mtk的迅速擴張,加入mtk平台的研發人員也達到了前所未有的水平.這給mtk帶來的新的活力.為了提高公司競爭力,許多手機設計公司都是不惜代價的研發上下功夫,以其自己的產品能在市場與眾不同.視覺特效正是在這樣的情況下應運而生,最早的mtk手機人們一般都是在**和硬體功能上下功夫,自從有了特效後,軟體開始受到極大重視,當然另一方面也是因為手機上的**與硬體使各個設計公司總裁的手機**已經所差無幾.當然,隨著軟體工程師對mtk平台的越來越熟悉,隨之又引發了高仿機熱潮.這是後話.

mtk平台的特效是十分豐富的,實現的方法也五花八門.一般來說,從應用上說,大致可以分為視窗特效和選單特效兩種.還有一些sp開發的花裡胡哨的功能.不過不管使用什麼技術或者演算法,我所見過的,基本都是運用層實現的.要麼把資料拷備到層上,先變形處理,再顯示,要麼直接把資料拷貝到層上,使用一些顯示效果如通透,裁剪,移動層等技術實現,原則上都不是甚難.難度在於你能想到什麼新花樣或者金點子.

這裡使用n年前曾經流行的web技術,帽子戴的有些高.如果是老網民,應該會記得網路過渡特效.早期的網路速度比慢,每次開啟乙個網路,總要等待很長時間。於是有一些聰明的傢伙,就研製出了網頁過渡特效,以減輕某些人在等待開啟網頁時的焦慮心情。當時基本效果一共有24種,至於哪二十四種,有興趣的朋友自己研究。當然後來js興起時,使用js做的過渡效果遠遠不止這個數。這裡我們使用在網頁中得到的靈感。做乙個可以左右滑動過渡的視窗。

static s32 transition_effect_x, transition_effect_y, transition_effect_w, transition_effect_h;

void mmi_transition_effect(void)

else

gdi_layer_blt(bg_layer, base_layer, null, null, transition_effect_x,transition_effect_y,transition_effect_w-1, transition_effect_h - 1);

if (((transition_effect_w < 240) && (g_pen_up_pos.x > g_pen_down_pos.x))

|| ((transition_effect_x >= 0) && (g_pen_up_pos.x <= g_pen_down_pos.x)))

else

}這個函式支援左右滑動,有想法的朋友可以自己再深入研究.

該函式用到的api都在我以前的有關層的文章中有介紹,也不再贅述.

MTK平台學習 對MTK按鍵事件的簡單分析

主要簡單分析一下左右軟體的事件,以左軟鍵事件為例 牽涉到的常用函式 void setkeyhandler funcptr funcptr,u16 keycode,u16 keytype void setleftsoftkeyfunction void f void mmi key event typ...

Css「三劍客」實現簡單的過渡特效

許多同學誤認為頁面上的特效都是js實現的,其實不然。css給我們提供了乙個極其強大的屬性transition。此屬性屬於css3的屬性。它的值可以是乙個時間,即過渡的時間。相當於js中settimeout,setinterval等寫出的效果,接下來解釋另外兩個 劍客 偽類選擇器和position。偽...

最簡單跨平台的日誌庫

這裡是我之前最常用的日誌庫的 所有操作幾乎都是通過巨集實現。只需要修改 fprintf 的引數就可以很容易的重定向的不同的檔案或者終端。簡單易懂,全部是巨集的實現 跨平台,支援android,linux,macos,windows 易擴充套件,只需要簡單的封裝就可以日誌實現重定向 使用者友好,不同級...