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.
|
|
|
|
|
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.
Drag-Quelle: Die Startpunktansicht des Drag-and-Drop-Vorgangs.
Ablageziel: Eine Ansicht, die die Drag-Daten akzeptieren kann.
Schatten beim Ziehen: Ein Schatten beim Ziehen ist eine Darstellung der Daten, die gezogen werden. Er ist für Nutzer sichtbar.
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
- Codelab für Drag-and-drop mit Ansichten
- Video Drag-and-drop für nahtloses Multitasking
- Drag and Drop Samples (Drag-and-drop-Beispiele) mit verschiedenen Möglichkeiten zum Implementieren von Drag-and-drop-Funktionen und zum Akzeptieren von Rich Media.