Drag-and-drop aktivieren

Compose ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Informationen zum Verschieben von Elementen per Drag-and-drop in Compose

Mit dem Android-Drag-and-drop-Framework können Sie Ihrer App interaktive Drag-and-drop-Funktionen hinzufügen. Mit Drag-and-drop können Nutzer Text, Bilder, Objekte und alle Inhalte, die durch einen URI dargestellt werden können, innerhalb einer App von einem View in ein anderes oder im Mehrfenstermodus zwischen Apps kopieren oder verschieben.

Textzeichenfolge und Bild werden per Drag-and-drop in eine App eingefügt. Ein Textstring und ein Bild werden im Splitscreen-Modus per Drag-and-drop zwischen Apps verschoben.
Abbildung 1. Drag-and-drop innerhalb einer App.
Abbildung 2: Per Drag-and-drop zwischen Apps verschieben

Das Framework umfasst eine Drag-Ereignisklasse, Drag-Listener sowie Helper-Klassen und -Methoden. Das Framework wurde zwar hauptsächlich für die Übertragung von Daten entwickelt, Sie können es aber auch für andere UI-Aktionen verwenden. Sie können beispielsweise eine App erstellen, die Farben mischt, wenn der Nutzer ein Farbsymbol auf ein anderes Symbol zieht. Im Rest des Dokuments wird das Drag-and-drop-Framework jedoch im Kontext der Datenübertragung beschrieben.

Übersicht

Beim Ziehen sind einige Elemente beteiligt.

  1. Drag-Quelle: Die Startpunktansicht des Drag-and-Drop-Vorgangs.

  2. Ablageziel: Eine Ansicht, die die Drag-Daten akzeptieren kann.

  3. Schatten beim Ziehen: Ein Schatten beim Ziehen ist eine Darstellung der Daten, die gezogen werden. Er ist für Nutzer sichtbar.

  4. Drag-Ereignisse: Wenn der Nutzer den Drag-Schatten über das Layout der App bewegt, sendet das System Drag-Ereignisse an die Drag-Ereignis-Listener und Callback-Methoden, die mit den View-Objekten im Layout verknüpft sind.

Ein Drag-and-drop-Vorgang beginnt, wenn der Nutzer eine UI-Geste ausführt, die Ihre App als Signal zum Ziehen von Daten erkennt. Als Reaktion darauf benachrichtigt die App das System, dass ein Drag-and-drop-Vorgang gestartet wird. Das System ruft Ihre App zurück auf, um einen Drag-Shadow abzurufen und ihn Nutzern während des Drag-and-Drop-Vorgangs anzuzeigen.

Wenn der Nutzer den Drag-Schatten über das Layout der App bewegt, sendet das System Drag-Ereignisse an die Drag-Ereignis-Listener und Callback-Methoden, die den View-Objekten im Layout zugeordnet sind. Wenn der Nutzer den Drag-Schatten über einem Ablageziel loslässt, sendet das System die Daten dorthin. Der Drag-and-drop-Vorgang endet, wenn der Nutzer den Drag-Schatten loslässt, unabhängig davon, ob er sich über einem Drop-Ziel befindet.

Themen

Wichtige Konzepte
Informationen zum Drag-and-drop-Verfahren
DropHelper für vereinfachtes Drag-and-drop
Informationen zum Implementieren von Drag-and-drop mit DropHelper
Drag-and-drop mit Ansichten implementieren
Alternativ können Sie Drag-and-drop mit Android-Ansichten implementieren. So haben Entwickler mehr Kontrolle über die Details.
Drag-and-drop im Mehrfenstermodus
Unterstützung von Drag-and-drop im Mehrfenstermodus, sodass Objekte zwischen verschiedenen Anwendungen verschoben werden können.

Zusätzliche Ressourcen