`
damengjiejie
  • 浏览: 9845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android Metro风格的Launcher开发系列(一)

 
阅读更多

前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一偷笑,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了,评书开讲!

可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码的开发,大家有一个git版本库,大家开发完了编译出来一个版本烧到板子上跑,要编译肯定就要编译环境什么的,google推荐的是在Ubuntu系统上搭建开发和编译环境。

首先要做的事情是环境搭建:

  1. 大家可以装双系统或者用Oracle VM VirtualBox在Windows上安装Ubuntu。安装双系统我这里就不说了,大家可以去网上查一下,这里有一个链接大家可以参考:点击打开链接
  2. 在Windows环境下通过Oracle VM VirtualBox安装Ubuntu请参考:点击打开链接
    我这说一下注意事项:
    (1).必须是Windows7,如果是Windows8可能会出现意想不到的事情,总之就是不想遇到麻烦就用Windows7。
    (2).分配虚拟磁盘空间的时候至少要分配30G,因为你要下载android-sdk就会用上十几G,你要是再下载源码那你至少要分60G的空间。
    (3).安装完系统后一定要安装增强插件,否则窗口无法全屏,安装方法如下图:


    点击红色箭头所指位置,然后在弹出框输入用户密码确认安装,安装完毕重启就可以全屏了。
  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。

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),扫一扫下方二维码或搜索微信号coder_online即可关注,我们可以在线交流。

分享到:
评论

相关推荐

    Androidlauncher开发.pdf

    Android_launcher 开发概述 Android_launcher 是 Android 系统中的一個重要组件,负责管理用户的桌面环境。作为一个 GUI,它不仅需要提供对所有应用程序的映射,还需要具备良好的交互性和美观的界面设计。在 ...

    android手把手教你开发launcher(AndroidStudio版)

    知识点一:Android桌面启动器(Launcher)开发基础 在Android系统中,桌面启动器(Launcher)是用户与Android设备交互的起点,负责展示应用图标、列表和各种小部件。Android允许开发者创建自己的Launcher应用,可以...

    android手把手教你开发launcher.pdf

    要开发自己的 Launcher,我们需要创建一个新的 Android 项目,并在 AndroidManifest.xml 文件中添加相应的配置。首先,我们创建一个新的 Android 项目,called MyHome,并在 AndroidManifest.xml 文件中添加以下代码...

    android 仿 windows metro 风格 源码

    在Android平台上,开发人员可以利用各种技术和库来实现独特的用户界面设计,其中之一就是仿照Windows Metro风格。"android 仿 windows metro 风格 源码"是一个专门用于创建类似Windows 8或Windows 10 Metro UI效果的...

    androidlauncher应用开发完整清晰版

    ### Android Launcher ...通过以上对《androidlauncher应用开发完整清晰版》一书的内容总结,可以看出该书旨在全面深入地介绍Launcher开发的核心技术和实践经验,适合希望深入了解Android桌面开发的技术人员阅读学习。

    Android 8.0 Launcher开发指南

    以上只是Android 8.0 Launcher开发的一部分关键知识点。通过深入研究Android 8.0 SDK文档,以及不断实践和调试,开发者能够创建出功能丰富、用户体验优秀的自定义Launcher。对于想要进一步提升技术的开发者来说,...

    android手把手教你开发launcher

    要开发自己的 Launcher,我们需要新建一个 Android 项目,创建一个名为 MyHome 的活动(Activity)。在 AndroidManifest.xml 文件中,我们需要添加 intent-filter,以便我们的应用程序能够作为 Launcher 运行。 ...

    Android_Launcher应用开发_示例代码.zip

    本资料包“Android_Launcher应用开发_示例代码.zip”提供了关于如何开发自定义Android Launcher的详细教程以及相关的示例代码,非常适合已经有一定Android基础并且希望进一步提升技能的开发者。 1. **Android ...

    Android launcher 开发博客集

    launcher 开发 在这里 我们继承了launcher 开发前人经验 一同学习

    android 自定义 模仿Launcher

    在Android开发中,自定义Launcher是一项常见的需求,它允许开发者创建独特的用户界面,提供与原生系统不同的启动器体验。本项目"android 自定义 模仿Launcher"旨在为平板和手机构建一个可自定义的启动器应用。由于...

    Android11 Launcher3

    总之,Android 11的Launcher3是系统核心组件之一,它在保持高效运行的同时提供了丰富的用户界面和高度的可定制性。开发者可以通过理解和修改其源代码,为用户创造更为个性化的启动器体验。同时,对于普通用户来说,...

    Android8.1_Launcher3.zip

    Android原生Launcher3源码的Android Studio版本,可以用AndroidStudio直接打开并开发。Android平台版本:Android8.1,AndroidStudio版本:3.3.2,注意:编译用到的com.google.protobuf编译信息不能更改,否则编译不过

    Launcher3_androidlauncher_android开发_

    本主题将深入探讨如何开发一个自定义的Android Launcher,以"Launcher3"为例,它是Android开源项目AOSP(Android Open Source Project)中的默认启动器。我们将从基本架构、界面设计、功能实现和性能优化等多个角度...

    Android studio 编译Launcher 3

    Android Studio 是Google官方推荐的Android应用开发集成开发环境(IDE),而Launcher 3是Android系统中的默认桌面应用,负责管理应用图标、快捷方式和主屏幕。编译Launcher 3的过程涉及到Android的源码构建、Gradle...

    Android11.0 Launcher3 添加负一屏(谷歌Feed屏方案)

    包含客户端 Launcher3 修改 包含服务端 OverlayScreen(可替换成你自己客需定制负一屏View) 基于android11.0 绝对好用,网上目前最全代码 实现效果图 ...

    android 9.0 10.0Launcher3 Hotseat 添加apps button.txt

    android 9.0 10.0Launcher3中 Hotseat 添加apps button功能 点击apps 进入app列表界面

    官方Launcher3可以在Android Studio上编译

    原生的Launcher3是Android操作系统的核心组件之一,负责管理应用程序的启动界面。为了在Android Studio中编译和调试Launcher3,我们需要对源代码进行一些适配工作。这包括但不限于添加Gradle构建支持,以及调整项目...

    Android Launcher3源码

    主屏幕由一系列的屏幕组成,每个屏幕都是一个工作区(Workspace),包含多个单元格(Cells)。布局管理器根据屏幕尺寸和密度动态调整单元格数量和大小。`Workspace`类负责监听触摸事件,处理拖放操作,以及屏幕滚动...

    Android Launcher应用开发

    Android Launcher应用开发Android Launcher应用开发

    Launcher3原理及二次开发

    此资源是在安卓巴士交会上王鹏工程师分享的Launcher3的原理及二次开发pdf。文中介绍啦Launcher3的框架和主要流程,能给从事Lauuncher3开发和桌面定制的开发人员启迪。特此分享出来。

Global site tag (gtag.js) - Google Analytics