Activer le glisser-déposer

Le framework de glisser-déposer Android vous permet d'ajouter des fonctionnalités interactives de glisser-déposer à votre application. Il permet aux utilisateurs de copier ou de déplacer du texte, des images, des objets et tout contenu pouvant être représenté par un URI, d'une View à une autre au sein d'une application, ou entre des applications en mode multifenêtre.

Chaîne de texte et image glissées-déposées dans une application. Chaîne de texte et image glissée-déposée d'une application à une autre en mode Écran partagé.
Figure 1 : Glissez-déposez des données dans une application.
Figure 2 : Glisser-déposer entre les applications

Le framework comprend une classe d'événement de déplacement, des écouteurs de déplacement, ainsi que des classes et des méthodes d'assistance. Bien qu'il soit principalement conçu pour permettre le transfert de données, vous pouvez utiliser le framework pour d'autres actions de l'interface utilisateur. Par exemple, vous pouvez créer une application qui mélange des couleurs lorsque l'utilisateur fait glisser une icône de couleur sur une autre. Cependant, le reste du document décrit le framework de glisser-déposer dans le contexte du transfert de données.

Présentation

Quelques éléments sont impliqués dans le processus de déplacement.

  1. Source de glisser-déposer: vue initiale du processus de glisser-déposer.

  2. Cible de dépôt: vue pouvant accepter les données de déplacement.

  3. Ombre du déplacement : une ombre de déplacement est une représentation des données en cours de déplacement. Elle est visible par les utilisateurs.

  4. Événements de déplacement : lorsque l'utilisateur déplace l'ombre de déplacement sur la mise en page de l'application, le système envoie des événements de déplacement aux écouteurs d'événements de déplacement et aux méthodes de rappel associées aux objets View de la mise en page.

Une opération de glisser-déposer commence lorsque l'utilisateur effectue un geste dans l'interface utilisateur que votre application reconnaît comme un signal pour commencer à faire glisser des données. En réponse, l'application informe le système qu'une opération de glisser-déposer est en cours. Le système rappelle votre application pour obtenir une ombre de déplacement et l'afficher aux utilisateurs pendant le processus de glisser-déposer.

Lorsque l'utilisateur déplace l'ombre de déplacement sur la mise en page de l'application, le système envoie des événements de déplacement aux écouteurs d'événements de déplacement et aux méthodes de rappel associés aux objets View de la mise en page. Si l'utilisateur libère l'ombre de déplacement au-dessus d'une cible de dépôt, le système lui envoie les données. L'opération de glisser-déposer se termine lorsque l'utilisateur libère l'ombre de déplacement, que celle-ci se trouve ou non au-dessus d'une cible de dépôt.

Thèmes

Concepts clés
Découvrez le processus de glisser-déposer.
DropHelper : glisser-déposer simplifié
Découvrez comment implémenter le glisser-déposer avec DropHelper.
Implémenter le glisser-déposer avec View
Vous pouvez également implémenter le glisser-déposer avec les vues Android, ce qui permet aux développeurs de mieux contrôler les détails.
Glisser-déposer en mode multifenêtre
Permettre le glisser-déposer en mode multifenêtre et le déplacement des objets entre différentes applications