Android 13.0 Launcher3 禁止首屏时钟部件拖动到其他屏

1.概述

  在13.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类来处理,它是核心拖拽控制器基类,定义很多拖拽相关的公共方法,处理滑动事件等等
DropTarget:拖拽事件接口,在Workspace中有实现这个接口。其包含主要的拖拽事件:onDrop(拖拽结束松手的瞬间触发)、onDragEnter(进入拖拽触发)、onDragOver&#x

你可能感兴趣的:(android,13.0,Rom定制化系列讲解,android,launcher3,workspace,禁止时钟拖拽,禁止时钟部件拖拽到其他屏)