Launcher

Android Launcher 分析(一)

  Linux kernel启动以后会通过app_main进程来初始化android Runtime Java运行环境,而zygote是Android的第一个进程。所有的android的应用以及大部分系统服务都是通过zygote fork出来的子进程(我现在看到的只有native

进入 Android Launcher 分析(一)

Android Launcher 分析(二)

  [color=blue]3.应用程序代码分析由Launcher中的AndroidManifest.xml可以看出整个Launcher的代码结构。[code=img]source_launcher/02_Launcher01.jpg[/code]首先,是一些权限的声明。例如:[code=java] [/code]这部

进入 Android Launcher 分析(二)

Android Launcher 分析(三)

  方法onActivityResult():完成在workspace上增加shortcut,appwidge和Livefolder;方法onSaveInstantceState()和onRestoreInstanceState():为了防止Sensor、Land和Port布局自动切换时数据被置空,通过onSaveInstanc

进入 Android Launcher 分析(三)

Android 启动唯一的Launcher

  如果你要定制一个Android系统,你想用你自己的Launcher(Home)作主界面来替换Android自己的Home,而且不希望用户安装的Launcher来替换掉你的Launcher。我们可以通过修改Framework来实现这样的功能。这里以Android2.1

进入 Android 启动唯一的Launcher

Launcher之文件夹美化

  需要的源代码包:(还需要在Eclipse中配置)[code=img]source_launcher/05_Launcher01.jpg[/code]从launcher源码中很容易变可以看出需要修改的文件,主要修改FolderIcon.java这个文件。修改后的代码如下:[code=java

进入 Launcher之文件夹美化

关于使用Eclipse调试Launcher的完美解决方法

  看了论坛还没有帖子解决这个问题,特写这篇教学,大家互相学习。由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.Vi

进入 关于使用Eclipse调试Launcher的完美解决方法

提取Launcher中的WorkSapce,可以左右滑动切换屏幕页面的类

  提取Launcher中的WorkSapce,可以左右滑动切换屏幕页面的类[color=blue]下载源码对于Launcher的桌面滑动大家应该都比较熟悉了,最好的体验应该是可以随着手指的滑动而显示不同位置的桌面。比一般用ViewFlinger+动画

进入 提取Launcher中的WorkSapce,可以左右滑动切换屏幕页面的类

使用ViewPager实现高仿launcher拖动效果

  今天用ViewPager这个类实现了同样的效果,这样代码更少,但是效果是一样的。ViewPager是实现左右两个屏幕平滑地切换的一个类,它是Google提供的。 使用ViewPager首先需要引入android-support-v4.jar这个jar包

进入 使用ViewPager实现高仿launcher拖动效果

Android 深入研究拖放功能Launcher(一)

  Luancher有一个相对比较复杂的功能就是拖放功能,要深入了解launcher,深入理解拖放功能是有必要的,我将对launcher的拖放功能做深入的了解。1.首先直观感受什么时候开始拖放?我们长按桌面一个应用图标或者控件的时

进入 Android 深入研究拖放功能Launcher(一)

Android 深入研究拖放功能Launcher(二)

  看了上面代码知道,当开始点击桌面时,celllayout就会根据点击区域去查找在该区域是否有child存在,若有把它设置为tag.cell,没有,tag.cell设置为null,后面在开始拖放时launcher.onlongclick中对tag进行处理,这个理

进入 Android 深入研究拖放功能Launcher(二)

Android 深入研究拖放功能Launcher(三)

  到这里,拖放开始处理的框框基本清楚,但是DragView的创建和显示还有必要进一步深究[code=java]DragView dragView = mDragView = new DragView(mContext, b, registrationX, registrationY, textureLeft, textureTop

进入 Android 深入研究拖放功能Launcher(三)

Android 深入研究拖放功能Launcher(四)

  [color=blue]2,拖放过程拖放过程的处理需要深入了解DragController.onTouchEvent(MotionEvent ev)函数的实现,我下面列出关键的MotionEvent.ACTION_MOVE部分代码并作出注释说明[code=java]#[Keywords]case #MotionE

进入 Android 深入研究拖放功能Launcher(四)

Android 深入研究拖放功能Launcher(五)

  拖放过程总的处理思路就是根据当前坐标位置获取dropTarget的目标位置,然后又根据相关状态和坐标位置调用dropTarget的对应生命周期函数,这里面有两个点需要进一步深入了解,一是查找dropTarget:findDropTarget(scr

进入 Android 深入研究拖放功能Launcher(五)

Android 深入研究拖放功能Launcher(六)

  [color=blue]1.drop(screenX, screenY);[code=java]#[Keywords]final #[Keywords]int#[] coordinates = mCoordinatesTemp;#[Comments]// 获取dropTarget对象DropTarget dropTarget = findDropTarget((#[Keywords]int

进入 Android 深入研究拖放功能Launcher(六)

Android 在launcher 2.1上实现2.2的屏幕标记

  在launcher 2.1上实现2.2的屏幕标记。Launcher2.2自带了屏幕标记,他是分了两块,分别为在左下角和右下角。1) 每一块为一个imageview,在配置文件Launcher.xml中直接添加[code=java][/code]其中android:onClick=&quo

进入 Android 在launcher 2.1上实现2.2的屏幕标记