Включить перетаскивание

Попробуйте способ создания композиций.
Jetpack Compose — это рекомендуемый набор инструментов для создания пользовательского интерфейса для Android. Узнайте, как использовать перетаскивание в Compose.

Фреймворк Android drag-and-drop позволяет добавлять интерактивные возможности перетаскивания в ваше приложение. С помощью перетаскивания пользователи могут копировать или перемещать текст, изображения, объекты и любой контент, который может быть представлен URI, из одного View в другое внутри приложения или между приложениями в многооконном режиме .

Текстовая строка и изображение, перетаскиваемые внутри приложения.Перетаскивание текстовой строки и изображения между приложениями в режиме разделенного экрана.
Рисунок 1. Перетаскивание объектов внутри приложения.
Рисунок 2. Перетаскивание между приложениями.

Фреймворк включает в себя класс событий перетаскивания, обработчики событий перетаскивания, а также вспомогательные классы и методы. Хотя он в первую очередь предназначен для передачи данных, вы можете использовать фреймворк и для других действий пользовательского интерфейса. Например, вы можете создать приложение, которое смешивает цвета, когда пользователь перетаскивает значок цвета поверх другого значка. Однако остальная часть документа описывает фреймворк перетаскивания в контексте передачи данных.

Обзор

Процесс торможения включает в себя несколько элементов.

  1. Источник перетаскивания: начальная точка отображения процесса перетаскивания.

  2. Область для перетаскивания: элемент интерфейса, который может принимать данные для перетаскивания.

  3. Тень от перетаскивания : Тень от перетаскивания — это отображение перетаскиваемых данных, видимое пользователям.

  4. События перетаскивания : Когда пользователь перемещает тень перетаскиваемого элемента по макету приложения, система отправляет события перетаскивания обработчикам событий перетаскивания и методам обратного вызова, связанным с объектами View в макете.

Операция перетаскивания начинается, когда пользователь совершает жест пользовательского интерфейса, который ваше приложение распознает как сигнал к началу перетаскивания данных. В ответ приложение уведомляет систему о начале операции перетаскивания. Система обращается к вашему приложению для получения тени перетаскивания и отображает ее пользователям во время процесса перетаскивания.

Когда пользователь перемещает тень перетаскивания по макету приложения, система отправляет события перетаскивания обработчикам событий перетаскивания и методам обратного вызова, связанным с объектами View в макете. Если пользователь отпускает тень перетаскивания над областью размещения, система отправляет данные в эту область. Операция перетаскивания завершается, когда пользователь отпускает тень перетаскивания, независимо от того, находится ли тень над областью размещения или нет.

Темы

Ключевые понятия
Разберитесь в процессе перетаскивания (drag-and-drop).
DropHelper для упрощенного перетаскивания объектов.
Узнайте, как реализовать функцию перетаскивания (drag and drop) с помощью DropHelper .
Реализуйте функцию перетаскивания (drag and drop) с помощью представлений.
В качестве альтернативы можно реализовать функцию перетаскивания (drag and drop) в Android-представлениях, что позволит разработчикам лучше контролировать детали.
Перетаскивание в многооконном режиме
Поддерживается перетаскивание объектов в многооконном режиме, что позволяет перемещать объекты между различными приложениями.

Дополнительные ресурсы