Android12.0 Launcher3 interdit la création de dossiers dans HotSeat

1. Vue d'ensemble

Dans le développement du système de 12.0, un dossier (dossier) sera formé lorsque l'élément est proche d'une icône lors du glisser-déposer de l'élément dans launcher3, mais selon les besoins du client, je ne souhaite pas former un dossier avec hotseat , je dois donc trouver une solution à partir de workspace.java Analyser comment hotseat devient un dossier

2.Launcher3 interdit la création de code de base de dossier dans HotSeat

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

3. Launcher3 interdit l'analyse des fonctions et la mise en œuvre de la création de dossiers dans HotSeat

Analyse fonctionnelle :
Le processus principal de formation d'un dossier dans Launcher 3 de 12.0 est réalisé dans la méthode onDrop() dans Workspace.java. Ici,
lors du glisser-déposer, un dossier peut être synthétisé en fonction du point de chute de l'icône glissée. Dossier, si les conditions du dossier sont remplies,
appelez la méthode performReorder de CellLayout.java pour former un dossier. La méthode la plus importante est
la méthode createUserFolderIfNecessary() pour réaliser la fonction de création d'un dossier

3.1 Analyse des méthodes associées de 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