您好,登錄后才能下訂單哦!
前言:從畢業到現在已經三年多了,回憶一下這三年基本上沒有寫過博客,總是覺得忙,沒時間寫,也覺得寫博客沒什么大用。但是看到很多大牛們都在寫博客,分享自己的東西,所以嘛本著向大牛看齊,分享第一,記錄第二的目的開始寫一個系列的文章,我會把我做一個項目的詳細過程分享給大家,供大家參考和交流。好了,評書開講!
可能大家做Android機頂盒或者Android電視開發的比較少,這類開發基本上都是基于源碼的開發,大家有一個git版本庫,大家開發完了編譯出來一個版本燒到板子上跑,要編譯肯定就要編譯環境什么的,google推薦的是在Ubuntu系統上搭建開發和編譯環境。
大家可以裝雙系統或者用Oracle VM VirtualBox在Windows上安裝Ubuntu。安裝雙系統我這里就不說了,大家可以去網上查一下,這里有一個鏈接大家可以參考:http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html。在Windows環境下通過Oracle VM VirtualBox安裝Ubuntu請參考:http://jingyan.baidu.com/article/db55b609909c084ba20a2f5e.html
注意事項:
(1)必須是Windows7,如果是Windows8可能會出現意想不到的事情,總之就是不想遇到麻煩就用Windows7。
(2)分配虛擬磁盤空間的時候至少要分配30G,因為你要下載android-sdk就會用上十幾G,你要是再下載源碼那你至少要分60G的空間。
(3)安裝完系統后一定要安裝增強插件,否則窗口無法全屏,安裝方法如下圖:
點擊紅色箭頭所指位置,然后在彈出框輸入用戶密碼確認安裝,安裝完畢重啟就可以全屏了。
去官網下載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
export PATH=$PATH:/home/leo/software/android-sdk-linux/tools
export PATH=$PATH:/home/wuhao/software/android-sdk-linux/platform-tools/
去Oracle官網,點擊打開鏈接下載對應版本的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生效
可以選用Eclipse或者Android Studio,這個看個人喜好。
在電視或者機頂盒上做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),掃一掃下方二維碼或搜索微信號coder_online即可關注,我們可以在線交流。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。