開發Android APP的同窗是否對於Launcher實現的絢麗效果而癡迷呢?什麼,連Android Launcher是什麼都不知道。好吧,拿起儂的手機,在解鎖後的首頁界面上左右滑動滑動,體驗體驗,這個就是Launcher。 android
Launcher其實也是一個APP,不過人家是系統級別的。雖然各個android手機廠商對Launcher的定製化程度比較高,可是爲了不用戶使用的困惑,Launcher的操做和功能基本都差很少。下面簡單介紹下Launcher桌面的幾個共同特徵。 git
一、分屏顯示APP圖標和名稱 github
二、APP圖標能夠在當前屏幕中拖動,稍牛逼的能夠跨屏拖動 微信
三、在拖動過程當中交換位置,出現一系列漂亮的位移動畫 學習
四、拖動結束後,Lancher會記住從新排列的位置 動畫
五、APP圖標能夠被刪除,刪除後,後面的圖片會依次向前位移過去 spa
六、橫向滑動Launcher進行切屏,背景圖片會聯動起來 .net
總結完畢,介紹那麼多,都是爲了今天的乾貨作陪襯。今天十足的乾貨,份量極沉,沉甸甸壓得我一天都不得空閒,只爲擠出時間整理出實現的代碼。下面介紹下今天干貨相對於原生Launcher的優點。 orm
一、分屏數能夠無限擴展,能夠爲一屏,也能夠爲10屏,同時也不用爲OOM煩惱,滑動也至關的流暢 圖片
二、每一個Item的圖標能夠爲兩張圖片,一張Normal狀態下顯示,一張Press狀態現實
三、動態設置每屏的行數和列數,示例代碼使用的是4行2列,而且自動計算item的寬度和高度
四、動態設置Container的item總數,根據行數列數,自動計算頁數
五、長按便可進入編輯模式,點擊便可刪除item;添加item也是至關的簡單方便。
下面看下靜止的效果,想把玩一番的同窗請去Github下載安裝
今天代碼都不貼了,源碼的註釋寫的很詳細,相信閱讀起來應該沒有什麼困難。對於喜歡研究Android特效的同窗和業務上有這種需求的同窗,相信今天的乾貨會幫助蠻大的。爲了效果上的美觀,我A了上個東家的幾張圖,但願你們不要商用,僅供學習交流之用。
代碼地址:https://github.com/JackCho/AndroidLauncher
若是以爲對你有所幫助,歡迎你們訂閱個人微信公衆帳號——Android乾貨分享(ID:android_share)。下面是微信的二維碼,爲你提供及時高質的Android乾貨。技術交流QQ羣:318588906,歡迎你們加羣,共同探討下Android和Java技術,一塊兒壯大咱們的微信乾貨分享社區。