android 13.0 Launcher3禁止拖动图标到Hotseat功能实现

1.概述

在13.0系统Launcher3进行定制化开发中,对于hotseat的开发中,由功能需求要求禁止拖动图标到Hotseat的功能,而拖拽也是在workspace.java中处理的
接下来就从workspace.java 开始找解决的办法

2.Launcher3禁止拖动图标到Hotseat相关代码分析

    packages/apps/Launcher3/src/com/android/launcher3/DropTarget.java
    packages/apps/Launcher3/src/com/android/launcher3/Workspace.java

3.Launcher3禁止拖动图标到Hotseat功能分析和实现

DropTarget是一个可放置drop区域的抽象,也就是说在我们放开手势拖拽的时候,想要把它放置在某个地方,这个地方就是
DropTarget这个对象,而这个对象可以指文件夹,workspace,删除区等等
工作区(Workspace)是指桌面上显示应用程序和小部件的区域,而在拖拽的时候,拖拽开始时,通过回调
 onDragStart() 通知监听者拖拽已经开始,在 Launcher3 中,注册拖拽监听者的有 Folder 、Workspace 、
ButtonDropTarget.java、 SecondDropTarget.java、 DeleteDropTarget.java、WidgetHostViewLoader
中都有拖拽的监听接口,在workspace中的onDrop()具体处理拖拽停止后相关的图标放置的功能

3.1DropTarget.java相关拖拽的接口

public interface DropTarget

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/134967346