Ativar o recurso de arrastar e soltar

Experimente trabalhar com o Compose
O Jetpack Compose é o kit de ferramentas de UI recomendado para Android. Aprenda a usar o recurso de arrastar e soltar no Compose.

Com a estrutura de arrastar e soltar do Android, é possível adicionar recursos interativos de arrastar e soltar ao seu app. Com essa funcionalidade, os usuários podem copiar ou mover texto, imagens, objetos e qualquer conteúdo que possa ser representado por um URI, de uma View para outra dentro de um app ou entre apps no modo de várias janelas.

String de texto e imagem sendo arrastadas e soltas em um app. String de texto e imagem sendo arrastadas e soltas entre apps no modo de tela dividida.
Figura 1. Arrastar e soltar em um app.
Figura 2. Arrastar e soltar entre apps.

O framework inclui uma classe de evento de arrastar, listeners de arrastar e classes e métodos auxiliares. Embora tenha sido projetado principalmente para permitir a transferência de dados, você pode usar o framework para outras ações da interface. Por exemplo, você pode criar um app que mistura cores quando o usuário arrasta um ícone colorido sobre outro ícone. No entanto, o restante do documento descreve o framework de arrastar e soltar no contexto da transferência de dados.

Visão geral

Há alguns elementos envolvidos no processo de arrastar.

  1. Origem de arrastar: a visualização do ponto inicial do processo de arrastar e soltar.

  2. Destino de soltar: uma visualização que pode aceitar os dados de arrastar.

  3. Ação de arrastar: Uma ação de arrastar é uma representação dos dados que estão sendo arrastados e fica visível para os usuários.

  4. Eventos de arrastar: conforme o usuário move a ação de arrastar sobre o layout do app, o sistema envia eventos de arrastar para os listeners de eventos de arrastar e métodos de callback associados aos objetos View no layout.

Uma operação de arrastar e soltar começa quando o usuário faz um gesto de interface que o app reconhece como um sinal para começar a arrastar dados. Em resposta, o app notifica o sistema sobre a inicialização de uma operação de arrastar e soltar. O sistema faz uma chamada de volta ao seu app para receber uma ação de arrastar e mostrá-la aos usuários durante o processo de arrastar e soltar.

Conforme o usuário move a ação de arrastar sobre o layout do app, o sistema envia eventos de arrastar para os listeners de eventos de arrastar e métodos de callback associados aos objetos View no layout. Se o usuário soltar a ação de arrastar sobre um destino de soltar, o sistema enviará os dados para ele. A operação de arrastar e soltar termina quando o usuário solta a ação de arrastar, mesmo que ela não esteja sobre um destino de soltar.

Tópicos

Principais conceitos
Entenda o processo de arrastar e soltar.
DropHelper para operação de arrastar e soltar simplificada
Saiba como implementar arrastar e soltar com DropHelper.
Implementar arrastar e soltar com visualizações
Outra opção é implementar arrastar e soltar com visualizações do Android, o que permite aos desenvolvedores ter mais controle dos detalhes.
Arrastar e soltar no modo de várias janelas
Ofereça suporte ao recurso de arrastar e soltar no modo de várias janelas, permitindo que objetos se movam entre diferentes aplicativos.

Outros recursos