Фреймворк Android drag-and-drop позволяет добавлять интерактивные возможности перетаскивания в ваше приложение. С помощью перетаскивания пользователи могут копировать или перемещать текст, изображения, объекты и любой контент, который может быть представлен URI, из одного View в другое внутри приложения или между приложениями в многооконном режиме .
![]() | ![]() |
Фреймворк включает в себя класс событий перетаскивания, обработчики событий перетаскивания, а также вспомогательные классы и методы. Хотя он в первую очередь предназначен для передачи данных, вы можете использовать фреймворк и для других действий пользовательского интерфейса. Например, вы можете создать приложение, которое смешивает цвета, когда пользователь перетаскивает значок цвета поверх другого значка. Однако остальная часть документа описывает фреймворк перетаскивания в контексте передачи данных.
Обзор
Процесс торможения включает в себя несколько элементов.
Источник перетаскивания: начальная точка отображения процесса перетаскивания.
Область для перетаскивания: элемент интерфейса, который может принимать данные для перетаскивания.
Тень от перетаскивания : Тень от перетаскивания — это отображение перетаскиваемых данных, видимое пользователям.
События перетаскивания : Когда пользователь перемещает тень перетаскиваемого элемента по макету приложения, система отправляет события перетаскивания обработчикам событий перетаскивания и методам обратного вызова, связанным с объектами
Viewв макете.
Операция перетаскивания начинается, когда пользователь совершает жест пользовательского интерфейса, который ваше приложение распознает как сигнал к началу перетаскивания данных. В ответ приложение уведомляет систему о начале операции перетаскивания. Система обращается к вашему приложению для получения тени перетаскивания и отображает ее пользователям во время процесса перетаскивания.
Когда пользователь перемещает тень перетаскивания по макету приложения, система отправляет события перетаскивания обработчикам событий перетаскивания и методам обратного вызова, связанным с объектами View в макете. Если пользователь отпускает тень перетаскивания над областью размещения, система отправляет данные в эту область. Операция перетаскивания завершается, когда пользователь отпускает тень перетаскивания, независимо от того, находится ли тень над областью размещения или нет.
Темы
- Ключевые понятия
- Разберитесь в процессе перетаскивания (drag-and-drop).
- DropHelper для упрощенного перетаскивания объектов.
- Узнайте, как реализовать функцию перетаскивания (drag and drop) с помощью
DropHelper. - Реализуйте функцию перетаскивания (drag and drop) с помощью представлений.
- В качестве альтернативы можно реализовать функцию перетаскивания (drag and drop) в Android-представлениях, что позволит разработчикам лучше контролировать детали.
- Перетаскивание в многооконном режиме
- Поддерживается перетаскивание объектов в многооконном режиме, что позволяет перемещать объекты между различными приложениями.
Дополнительные ресурсы
- Практический урок по перетаскиванию объектов с использованием представлений.
- Перетаскивание для удобной многозадачности при работе с видео.
- Примеры реализации функции перетаскивания , включающие различные способы её использования, а также поддержку мультимедийного контента.


