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

Android Metro风格的Launcher开发系列第一篇

阅读更多

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

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

一、Ubuntu下Android环境搭建:

1、安装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)安装完系统后一定要安装增强插件,否则窗口无法全屏,安装方法如下图:



 

 

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

2、配置开发环境:

(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
export PATH=$PATH:/home/leo/software/android-sdk-linux/tools
export PATH=$PATH:/home/wuhao/software/android-sdk-linux/platform-tools/

(2)配置java环境:

去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生效

(3)IDE下载和配置:

可以选用Eclipse或者Android Studio,这个看个人喜好。

二、产品设计:

      在电视或者机顶盒上做UI开发,首先要考虑电视尺寸都比较大,你的UI展现要能够在电视屏幕上看着大小合适,展现的简洁舒服,别像原生Launcher那样好多小图标看着密密麻麻的,第二个是要方便遥控器操作,焦点导航显示正确,因为你不可能给机顶盒外接一个鼠标模仿触摸操作,那样太不方便。所以大家都会想到类似Windows 8的那种风格。设计大概像是下面的图:

20150321142535444 (1104×422)

 

产品要求:

(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即可关注,我们可以在线交流。

  • 大小: 26.5 KB
分享到:
评论

相关推荐

    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应用开发完整清晰版

    简而言之,Launcher就是我们常说的“桌面”,它是用户与手机交互的第一道门户。 #### 二、Launcher应用的主要组成部分 1. **清单文件(Manifest)**:清单文件是Launcher应用的基础配置文件,它定义了应用的基本...

    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

    1. **主屏幕布局**:这是用户看到的第一界面,通常由多个屏幕(pages)组成,每个屏幕可以包含一个网格布局(GridLayout)或者滚动布局(ScrollView)。在这个项目中,`ScrollLayoutGrid_v3`很可能是一个实现滚动...

    Android11 Launcher3

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

    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...

    Android Launcher应用开发

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

    Android Launcher3源码

    **Android Launcher3源码详解** Android系统的桌面启动器(Launcher)是用户与设备交互的核心界面,它负责展示应用快捷方式、小部件以及主屏幕布局。其中,`Launcher3`是Android开源项目AOSP(Android Open Source ...

    Launcher3原理及二次开发

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

    官方Launcher3可以在Android Studio上编译

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

    android Launcher2.2源码

    Launcher的界面是由一系列的View和ViewGroup组成的。`com.android.launcher2.CellLayout`作为基本的单元格布局,承载了每个图标或文件夹的位置信息。`com.android.launcher2.InvariantDeviceProfile`定义了设备的...

    Android-根据最新版Launcher修改单层桌面

    本项目是基于最新的Launcher3进行的定制开发,主要目标是将原本的双层桌面结构改为单层,同时增加了一系列的特效和功能,旨在提升用户的操作体验。 首先,我们要理解原生Launcher3的架构。Launcher3是Android系统...

    安卓Android源码——Launcher2.rar

    【安卓Android源码——Launcher2】是Android操作系统中核心组件之一的桌面启动器的源代码。这个源码库主要包含了Android系统默认的二级启动器(Launcher2)的实现,它是用户与设备交互的重要界面,负责展示应用快捷...

Global site tag (gtag.js) - Google Analytics