Arrastar e soltar
O suporte para o recurso de arrastar e soltar garante uma excelente experiência do usuário usando todos os tipos de entrada diferentes compatíveis com o Surface Duo.
Este exemplo demonstra como implementar o recurso de arrastar e soltar em seu aplicativo Android, seguindo as diretrizes de arrastar e soltar do Android.
Valor da chave
O recurso de arrastar e soltar permite que o usuário compartilhe dados facilmente entre partes do aplicativo ou entre aplicativos diferentes em duas telas.
Tipos de aplicativos que podem se beneficiar desse padrão
- Aplicativos que contêm texto ou imagens.
Para obter mais informações, confira a seção arrastar e soltar de Introdução a dispositivos com tela dupla.
Experimente nosso exemplo
Obtenha o exemplo do recurso de arrastar e soltar no GitHub:
- Kotlin - Exemplo do recurso do tipo "arrastar e soltar"
- Java - Exemplo do recurso do tipo "arrastar e soltar"
Visão geral do código-fonte
Esses snippets mostram as principais etapas para o recurso de arrastar e soltar.
Anexe um dragListener à exibição em que você deseja soltar.
View.setOnDragListener();
Implementar ACTION_DROP em onDrag()
public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: return true; } }
Segurar o URI de DragEvent
DragEvent.getClipData().getItemAt().getUri();
Solicitar uma permissão para este URI
requestDragAndDropPermissions(DragEvent);
Fazer uma consulta para ContentProvider para buscar o item descartado
File Metadata : ContentResolver.query( uri, new String[]{OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE}, null, null, null)) Actual file : ContentResolver.openFile(uri)