Android之Launcher的小试心得
来源:互联网 发布:java重载和覆盖的区别 编辑:程序博客网 时间:2024/05/19 01:30
Launcher是Android系统的"桌面",在android2.1之前采用的是launcher,android2.2之后采用的launcher2,他们之间最大的区别是launcher2有3D效果,不过launcher2整个系统的代码的改动还是比较大的。
首先来介绍下launcher目录下的几个文件吧,我做简单说明:
AddAdapter:添加桌面元素的适配器。
AllAppsGridView:Icon列表的的主界面,继承gridView。
DeleteZone:luancher的删除区域,继承ImageView。
DragController:拖动控制接口。
DragLayer:整个launcher的父节点,继承FrameLayout,实现接口DrayController。
DragSource:拖动源接口,定义了void onDropCompleted(View target, boolean success)。
DropTarget:拖动目标,定义很多拖动过程需要的方法:onDrop,onDragEnter,onDragOver,onDragExit,acceptDrop。
HandleView:launcher抽屉的开关,不过在android2.2已经没用抽屉了。
Launcher:整个launcher的程序的入口,代码量最大的一个文件。
Workspace:整个界面layout,几个窗口就是他下面的子节点。
我需要改动的就是模仿Mac系统,在桌面的底部加一个icon的列表功能,而且要求是把icon拖入拖出,首先上一张已经做出来的效果图:
我首先列出我完成的几个主要源文件:
DockProvider:持久化dock Item的元素。
DockSettings:dock一些元素和uri信息。
DockView:显示icon的布局,继承LinearLayout实现DropTarget,DragSource, DragController.DragListener,OnClickListener, View.OnLongClickListener接口。
我在这里主要说下,实现原理,DockView是主要文件,它继承LinearLayout是为了它里面的元素水平摆放,直接用addView继承实现,继承系统的那些接口都是为了,接收到icon拖动的状态和信息。
首先要在Launcher的setupViews函数里面初始化自己的layout,代码如下:
首先来介绍下launcher目录下的几个文件吧,我做简单说明:
AddAdapter:添加桌面元素的适配器。
AllAppsGridView:Icon列表的的主界面,继承gridView。
DeleteZone:luancher的删除区域,继承ImageView。
DragController:拖动控制接口。
DragLayer:整个launcher的父节点,继承FrameLayout,实现接口DrayController。
DragSource:拖动源接口,定义了void onDropCompleted(View target, boolean success)。
DropTarget:拖动目标,定义很多拖动过程需要的方法:onDrop,onDragEnter,onDragOver,onDragExit,acceptDrop。
HandleView:launcher抽屉的开关,不过在android2.2已经没用抽屉了。
Launcher:整个launcher的程序的入口,代码量最大的一个文件。
Workspace:整个界面layout,几个窗口就是他下面的子节点。
我需要改动的就是模仿Mac系统,在桌面的底部加一个icon的列表功能,而且要求是把icon拖入拖出,首先上一张已经做出来的效果图:
我首先列出我完成的几个主要源文件:
DockProvider:持久化dock Item的元素。
DockSettings:dock一些元素和uri信息。
DockView:显示icon的布局,继承LinearLayout实现DropTarget,DragSource, DragController.DragListener,OnClickListener, View.OnLongClickListener接口。
我在这里主要说下,实现原理,DockView是主要文件,它继承LinearLayout是为了它里面的元素水平摆放,直接用addView继承实现,继承系统的那些接口都是为了,接收到icon拖动的状态和信息。
首先要在Launcher的setupViews函数里面初始化自己的layout,代码如下:
- Android之Launcher的小试心得
- Android之Launcher的小试心得
- Android之Launcher的小试心得
- Android Android之Launcher的小试心得(转)
- android 1.6 launcher研究之launcher的左右滑动
- android 1.6 launcher研究之launcher的左右滑动
- android 1.6 launcher研究之launcher的左右滑动
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- Android中实现Launcher功能之二 ----- 添加窗口小部件以及AppWidget的创建详解
- android之插拔外设launcher小图标动态显示
- android Launcher应用之CellLayout的设计
- android launcher 之踩到的坑
- android launcher常见小知识
- Android之Launcher
- Android之android.intent.category.LAUNCHER的用途和使用
- Android源码之Launcher修改---修改Launcher的主屏幕的屏幕数
- android 的 Launcher 分析
- 如何调试跟踪Android源代码
- 16进制及2进制转换
- 网络原理(一)
- 研究Launcher源代码的资源
- How to generate self-signed certificate using keytool command of JDK?
- Android之Launcher的小试心得
- “如果应下载文件请添加mime映射”的解决方案
- Launcher之Dock细节篇
- directshow播放,界面无响应问题的查找
- 用 OData Service 访问 US Crime 数据
- 让 python 命令行也自动补全
- 只为jackyZhang
- SOAP和REST
- 【多图】Google工程师解析Android系统架构