天天看點

《精通Android 5 多媒體開發》——第22章,第22.3節開發一個屏保程式

本節書摘來自異步社群《精通android 5 多媒體開發》一書中的第22章,第22.3節開發一個屏保程式,作者 王石磊,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

22.3 開發一個屏保程式

精通android 5 多媒體開發

了解了在android系統中開發屏保程式的基本原理後,在本節的内容中,将通過一個具體執行個體的實作流程,來詳細講解開發android屏保程式的基本流程。本執行個體的源代碼儲存在“daima22pingbao”中,下面開始講解本執行個體的具體實作流程。

22.3.1 準備素材圖檔

在本執行個體中,設定屏保程式輪換顯示5幅圖檔,圖檔的大小是320×480。本執行個體的素材圖檔儲存在“resdrawable”目錄下,效果如圖22-1所示。

《精通Android 5 多媒體開發》——第22章,第22.3節開發一個屏保程式

22.3.2 編寫布局檔案

本執行個體的布局檔案是main.xml,在裡面分别插入了一個imageview控件、一個textview和一個edittext,主要代碼如下所示。

22.3.3 編寫主程式檔案

本執行個體的主程式檔案是example.java,其具體實作流程如下所示。

(1)先引入相關class類,然後設定layoutinflater對象作為建立的alertdialog,具體代碼如下所示:

至此,整個執行個體介紹完畢。執行後如果超過5秒不動鍵盤或螢幕,則會進入屏保狀态,如圖22-2所示。可以設定屏保密碼,當輸入正确的密碼後才能解除屏保,如圖22-3所示。

《精通Android 5 多媒體開發》——第22章,第22.3節開發一個屏保程式

在本執行個體的實作代碼中,聲明的4個runnable是整個程式的重點,這4個runnable的具體說明如下所示。

mtasks01:設定每1秒檢查一次timeperiod,并監視是否超過5秒未觸發。超過5秒則将blrunscreensaver這個flag更改為true,并啟動mtasks02。

mtasks02:設定每1秒運作一次屏保程式,并隐藏原有layout上面的widget,并調用screensaver()加載圖檔,即輪換顯示預設的5幅圖檔。

mtasks03:是fade-out特效使用的runable,每0.1秒運作一個scale。

mtasks04:是fade-in特效使用的runable,每0.1秒運作一個scale。

繼續閱讀