android 13.0 Launcher3禁止拖拽app图标到第一屏

1.概述

在13.0系统rom进行定制化开发Launcher3中,会对Launcher3 做些要求,比如现在的需求就是Launcher3第一屏的图标固定,不让其他屏的图标拖动到
第一屏所以说这个需求和 禁止拖拽图标到Hotseat类似,也是从WorkSpace.java里面寻找解决方案,然后实现相关功能

2.Launcher3禁止拖拽app图标到第一屏相关代码

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

3.Launcher3禁止拖拽app图标到第一屏相关功能分析

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

3.1DropTarget.java相关拖拽的接口分析

 

猜你喜欢

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