Android12.0 Launcher3 禁止在HotSeat创建文件夹

1.概述

在12.0的系统开发中,在laucher3中拖拽item时 靠近某个图标时会形成文件夹(folder),而根据客户需求不想再hotseat形成文件夹, 这就要从workspace.java从来寻找解决方案了分析hotseat是怎么变成folder的

2.Launcher3 禁止在HotSeat创建文件夹核心代码

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

3.Launcher3 禁止在HotSeat创建文件夹功能分析和实现

功能分析:
在12.0的Launcher3中形成文件夹的主要流程,就是在Workspace.java中的 onDrop()方法里面实现的,
在这里会根据拖拽释放的时候,根据拖动图标落点处可以合成一个Folder,如果满足文件夹的条件,
调用CellLayout.java的performReorder方法来形成文件夹,最主要的方法就是
createUserFolderIfNecessary()方法来实现创建文件夹功能

3.1 CellLayout.java相关方法分析

boolean createUserFolderIfNecessary(View newView, long container, CellLayout target,
            int[] targetCell, float distance, boolean external, DragView dragView,
            Runnable postAnimationRunnable) {
i

猜你喜欢

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