Android Metro風格的Launcher開發系列第一篇,androidmetro
前言:從畢業到現在已經三年多了,回憶一下這三年基本上沒有寫過部落格,總是覺得忙,沒時間寫,也覺得寫部落格沒什麼大用。但是看到很多大牛們都在寫部落格,分享自己的東西,所以嘛本著向大牛看齊,分享第一,記錄第二的目的開始寫一個系列的文章,我會把我做一個項目的詳細過程分享給大家,供大家參考和交流。好了,評書開講!
可能大家做Android機頂盒或者Android電視開發的比較少,這類開發基本上都是基於源碼的開發,大家有一個git版本庫,大家開發完了編譯出來一個版本燒到板子上跑,要編譯肯定就要編譯環境什麼的,google推薦的是在Ubuntu系統上搭建開發和編譯環境。
首先要做的事情是環境搭建:Launcher設計在電視或者機頂盒上做UI開發,首先要考慮電視尺寸都比較大,你的UI展現要能夠在電視螢幕上看著大小合適,展現的簡潔舒服,別像原生Launcher那樣好多小表徵圖看著密密麻麻的,第二個是要方便遙控器操作,焦點導航顯示正確,因為你不可能給機頂盒外接一個滑鼠模仿觸摸操作,那樣太不方便。所以大家都會想到類似Windows 8的那種風格。設計大概像是下面的圖:
產品要求:(1)在顯示第一屏的時候第二屏要在螢幕右側有一部分顯示,並且是縮小顯示,在page二顯示的時候page一在左側縮小顯示一部分,page三部分顯示,page之間切換流暢,表徵圖放大縮小流暢。(2)在每一個表徵圖上焦點的時候要放大顯示,表徵圖周圍有陰影或者焦點框之類的反白出來,丟焦點的時候還原為正常顯示。(3)表徵圖對應的應用連結可以在xml檔案配置。(4)page個數可以配置,可以通過簡單的修改參數去掉某個page。拿到上面的產品需求你會怎麼做呢?我是作如下考慮的:(1)第一個需求我想到了ViewPager、viewflipper,這兩個可以做到page之間切換流暢。(2)每一個表徵圖抽象出來做成一個View,放大縮小用屬性動畫可以做到,對應的View xml檔案可以自訂屬性完成應用連結配置。(3)靈活添加,刪除page需要好好考慮一下代碼實現。 哎呀,好累,一個周六幾個小時就這麼過去了,套用《框框日記》裡面框框經常說的一句話“多麼有意義的一天呀!”。以上就是我Launcher Metro風格實現的第一篇博文,簡單描述了環境配置和設計思路,寫的有不足之處還請各位多多包涵和交流,具體代碼實現我會在我的下一篇博文中進行講解,請多多關注! 第一時間獲得部落格更新提醒,以及更多技術資訊分享,歡迎關注個人公眾平台:程式員互動聯盟(coder_online)
1.第一時間獲得業內十多個領域的原創技術文章
2.對於文章內有疑問可以立即提出問題,第一時間得到回複,以及耐心的解答。
3.可以和原創文章作者成為很好的朋友,拓展自己的人脈資源。
掃一掃下方二維碼或搜尋號coder_online即可關注,我們可以線上交流。