1.概述
在14.0的系统rom定制化开发中, 在系统Launcher3中,首页中间默认有个时钟部件来显示时间,并且可以任意拖拽到其他地方,如果拖动到其他屏显的很不美观,所以根据需要要求时钟部件
不能拖拽到其他屏,所以就要从拖拽开始处理,判断如果是时钟部件,就不让拖拽到其他屏,先从拖拽流程分析,然后实现禁止拖拽时钟weight的相关功能
2.Launcher3 禁止首屏时钟部件拖动到其他屏的核心代码
packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
3.Launcher3 禁止首屏时钟部件拖动到其他屏的核心功能分析
在Android手机上,我们通常说的桌面其实就是launcher,再往小了说就是:Workspace。Workspace是桌面在实现时的抽象定义。桌面上显示的应用图标、folder文件夹和weight小部
件等功能,在Launcher3中workspace的桌面显示的app hotseat都绑定到workspace中,然后显示的
在Launcher3中,workspace图标的拖拽事件通常由DragController类来处理