Launcher3的常用类分析
1.Launcher:Launcher中的主要Activity
2.Workspace:抽象的桌面
3.CellLayout:Workspace的一个子View
4.FoldIcon:文件夹的图标
5.BubbleTextView:图标,一个一个快捷方式
6.ItemInfo:从快捷方式、文件夹、小部件抽象出来的数据模型
7.LauncherModel:封装的对数据库的操作
8.LauncherProvider:Launcher的数据库,里面存储一些默认操作
9.LauncherAppState:初始化一些对象
10.DragLayout :Launcher layout的rootview 处理拖动事件
11.DragController:为Drag定义的一个接口
12.DragVIew:拖动图标的时候跟随手指移动的View
拖动图标的流程分析
Launcher.OnLongClick---->Workspace.OnStartDrag---->Workspace.beginDragShared---->DragController.startDrag---->DragController.handevent。
桌面双层结构变成单层
判断条件是LauncherAppState.isDisableAllApps
设置返回true即可。