launcher设计原理

launcher设计原理

ID:32366559

大小:53.91 KB

页数:4页

时间:2019-02-03

launcher设计原理_第1页
launcher设计原理_第2页
launcher设计原理_第3页
launcher设计原理_第4页
资源描述:

《launcher设计原理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、HomeScreen的代码位于packages/apps/Launcher目录。Launcher工程中的主要类如下:AddAdapter:添加桌面元素的适配器;AllAppsGridView:应用程序图标列表的主界面,继承GridView;ApplicationInfo:保存有应用程序的信息;ApplicationsAdapter:AllAppsGridView对应的Adapter;DeleteZone:Launcher的删除区域,继承ImageView;DragController:拖动控制接口;DragLayer:整个launcher的父节点,继承FrameLayout,实现接口Dray

2、Controller;DragScrollerDragSource拖动源接口,定义了voidonDropCompleted(Viewtarget,Booleansuccess);DropTarget:拖动目标,定义很多拖动过程需要的方法;HandleView:launcher抽屉的开关;ItemInfo:记录ITEM_TYPE_APPLICATION,ITEM_TYPE_USER_FOLDER,ITEM_TYPE_LIVE_FOLDER,ITEM_TYPE_WIDGET_SEARCH这些类型的Item;Launcher:整个launcher的程序的入口;LauncherModel:主要负责维

3、护Launcher的状态和提供一些更新Launcher数据库状态的API;LauncherProvider:存储桌面上可以放置的几个对象,包括shortcut,search和clock等;WallpaperChooser:设置墙纸Workspace:控制桌面显示区域的layout,几个窗口就是它下面的子节点;从文件launcher.xml,workspace_screen.xml可获知HomeScreen的UI结构如下图所示:com.android.launcher.DragLayer(FrameLayout)com.android.launcher.Workspace(ViewGroup)

4、SlidingDrawercom.android.launcher.DeleteZone(ImageView)com.android.launcher.CellLayout(ViewGroup)com.android.launcher.CellLayout(ViewGroup)com.android.launcher.HandleView(ImageView)com.android.launcher.AllAppsGridView(GridView)整个homescreen是一个包含三个childview的FrameLayout(com.android.launcher.DragLayer)

5、。第一个child就是桌面com.android.launcher.Workspace,这个桌面又包含两个child。每个child就对应一个桌面。这就是在Android上看到的两个桌面。每个桌面上放置下列对象:应用快捷方式、appwidget和folder。第二个child是一个SlidingDrawer控件,这个控件由两个子控件组成。一个是com.android.launcher.HandleView,就是android桌面下方的把手,当点击这个把手时,另一个子控件com.android.launcher.AllAppsGridView就会弹出,这个子控件列出系统中当前安装的所有类型为c

6、ategory.launcher的Activity。第三个child是com.android.launcher.DeleteZone。当用户在桌面上长按一个widget时,把手位置就会出现一个垃圾桶形状的控件,就是这个DeleteZone控件。在虚拟桌面上可以摆放四种类型的对象:1、ITEM_SHORTCUT,应用快捷方式;2、ITEM_APPWIDGET,appwidget;3、ITEM_LIVE_FOLDER,文件夹;4、ITEM_WALLPAPER,墙纸。类AddAdapter(AddAdapter.java)列出了这四个类型对象。当用户在桌面空白处长按时,下列函数序列被执行:Laun

7、cher::onLongClick->Launcher::showAddDialog->Launcher::showDialog(DIALOG_CREATE_SHORTCUT)->Launcher::onCreateDialog->Launcher::CreateShortcutcreateDialog这个函数创建一个弹出式对话框,询问用户是要添加什么(快捷方式、appwidget、文件夹或墙纸),其内容就来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。