1.概述
在12.0的系统rom定制化开发中,
在系统Launcher3中,首页中间默认有个时钟部件来显示时间,并且可以任意拖拽到其他地方,如果拖动到其他屏显的很不美观,所以根据需要要求时钟部件
不能拖拽到其他屏,所以就要从拖拽开始处理,判断如果是时钟部件,就不让拖拽到其他屏,先从拖拽流程分析
2.Launcher3 禁止首屏时钟部件拖动到其他屏的核心代码
packages/apps/Launcher3/src/com/android/launcher3/Workspace.java
packages/apps/Launcher3/src/com/android/launcher3/dragndrop/DragController.java
3.Launcher3 禁止首屏时钟部件拖动到其他屏的核心功能分析
3.1DragController.java 关于拖拽的接口
public class DragController implements DragDriver.EventListener,
TouchController { public interface DragListener { /** * A drag has begun * *
@param dragObject The object being dragged * @param options Options used to
start the drag */ void onDragStart(DropTarget.DragObject dragObject,
DragOptions options); /** * The drag has ended */ void onDra