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便可关注,咱们能够在线交流。

相关文章
相关标签/搜索