Android Metro風格的Launcher開發系列第一篇

前言:從畢業到如今已經三年多了,回憶一下這三年基本上沒有寫過博客,老是以爲忙,沒時間寫,也以爲寫博客沒什麼大用。可是看到不少大牛們都在寫博客,分享本身的東西,因此嘛本着向大牛看齊,分享第一偷笑記錄第二的目的開始寫一個系列的文章,我會把我作一個項目的詳細過程分享給你們,供你們參考和交流。好了,評書開講!

可能你們作Android機頂盒或者Android電視開發的比較少,這類開發基本上都是基於源碼的開發,你們有一個git版本庫,你們開發完了編譯出來一個版本燒到板子上跑,要編譯確定就要編譯環境什麼的,google推薦的是在Ubuntu系統上搭建開發和編譯環境。html

首先要作的事情是環境搭建:

  1. 你們能夠裝雙系統或者用Oracle VM VirtualBox在Windows上安裝Ubuntu。安裝雙系統我這裏就不說了,你們能夠去網上查一下,這裏有一個連接你們能夠參考:點擊打開連接
    java

  2. 在Windows環境下經過Oracle VM VirtualBox安裝Ubuntu請參考:點擊打開連接
    我這說一下注意事項:
    (1).必須是Windows7,若是是Windows8可能會出現意想不到的事情,總之就是不想遇到麻煩就用Windows7。
    (2).分配虛擬磁盤空間的時候至少要分配30G,由於你要下載android-sdk就會用上十幾G,你要是再下載源碼那你至少要分60G的空間。
    (3).安裝完系統後必定要安裝加強插件,不然窗口沒法全屏,安裝方法以下圖:


    點擊紅色箭頭所指位置,而後在彈出框輸入用戶密碼確認安裝,安裝完畢重啓就能夠全屏了。linux

  3. 配置開發環境:
    (1).配置adb:
    去官網下載android-sdk-linux,下載地址是:http://dl.google.com/android/ + 不一樣版本的sdk
    例如:下載r20版本
    r20的linux版本:http://dl.google.com/android/android-sdk_r20-linux.tgz
    r20的windows版本:http://dl.google.com/android/android-sdk_r20-windows.zip
    r20的mac版本:http://dl.google.com/android/android-sdk_r20-macosx.zip
    把上面下載的sdk解壓到一個目錄,好比說是~/software/目錄,
    終端執行:sudo gedit ~/.bashrc  
    在最後添加以下內容:
    #set path for android sdk tools
    exportPATH=$PATH:/home/leo/software/android-sdk-linux/tools
    export PATH=$PATH:/home/wuhao/software/android-sdk-linux/platform-tools/

    (2).配置java環境:
    去官網:點擊打開連接下載對應版本的jdk,個人是64位系統,因此下載:jdk-7u75-linux-x64.tar.gz
    sudo mkdir  /usr/lib/jvm/
    cd /usr/lib/jvm/
    cp  ~/software/jdk-7u75-linux-x64.tar.gz   ./      
    sudo tar -vxzf  jdk-7u75-linux-x64.tar.gz
    把環境變量配置在用戶目錄.bashrc文件中是最好的選擇,在bashrc裏添加:
    sudo gedit ~/.bashrc
    #set java environment
    #JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75
    export JRE_HOME=/usr/lib/jvm/jdk1.7.0_75/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    重啓生效或者source .bashrc生效
    (3).剩下的就是IDE下載和配置了,你能夠選用Eclipse或者Android Studio。
    android

Launcher設計

在電視或者機頂盒上作UI開發,首先要考慮電視尺寸都比較大,你的UI展示要可以在電視屏幕上看着大小合適,展示的簡潔舒服,別像原生Launcher那樣好多小圖標看着密密麻麻的,第二個是要方便遙控器操做,焦點導航顯示正確,由於你不可能給機頂盒外接一個鼠標模仿觸摸操做,那樣太不方便。因此你們都會想到相似Windows 8的那種風格。設計大概像是下面的圖:git


產品要求:程序員

(1)在顯示第一屏的時候第二屏要在屏幕右側有一部分顯示,而且是縮小顯示,在page二顯示的時候page一在左側縮小顯示一部分,page三部分顯示,page之間切換流暢,圖標放大縮小流暢。macos

(2)在每個圖標上焦點的時候要放大顯示,圖標周圍有陰影或者焦點框之類的突出顯示出來,丟焦點的時候還原爲正常顯示。windows

(3)圖標對應的應用連接能夠在xml文件配置。bash

(4)page個數能夠配置,能夠經過簡單的修改參數去掉某個page。微信

拿到上面的產品需求你會怎麼作呢?我是做以下考慮的:

(1)第一個需求我想到了ViewPager、viewflipper,這兩個能夠作到page之間切換流暢。

(2)每個圖標抽象出來作成一個View,放大縮小用屬性動畫能夠作到,對應的View xml文件能夠自定義屬性完成應用連接配置。

(3)靈活添加,刪除page須要好好考慮一下代碼實現。


哎呀,好累,一個週六幾個小時就這麼過去了,套用《框框日記》裏面框框常常說的一句話「多麼有意義的一天呀!」。

以上就是我Launcher Metro風格實現的第一篇博文,簡單描述了環境配置和設計思路,寫的有不足之處還請各位多多包涵和交流,具體代碼實現我會在個人下一篇博文中進行講解,請多多關注!

第一時間得到博客更新提醒,以及更多技術信息分享,歡迎關注我的微信公衆平臺:程序員互動聯盟

1.第一時間得到業內十多個領域的原創技術文章

2.對於文章內有疑問能夠當即提出問題,第一時間獲得回覆,以及耐心的解答。

3.能夠和原創文章做者成爲很好的朋友,拓展本身的人脈資源。

掃一掃下方二維碼或搜索微信號coder_online便可關注,咱們能夠在線交流。

相關文章
相關標籤/搜索