Arraste e solte no Xamarin. Android
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.
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.
- 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.
Obtenha o exemplo de arrastar e soltar em GitHub
Esses snippets mostram as principais etapas para o recurso de arrastar e soltar.
Anexe um dragListener à exibição em que você deseja soltar.
View.Drag += View_Drag;
Implementar ACTION_DROP em onDrag()
void View_Drag(object sender, View.DragEventArgs e) { if (e.Event.Action == DragAction.Drop) { e.Handled = true; // ... } }
Segurar o URI de DragEvent
e.Event.ClipData.GetItemAt(0).Uri;
Solicitar uma permissão para este URI
RequestDragAndDropPermissions(e.Event);
Fazer uma consulta para ContentProvider para buscar o item descartado
var metadata = ContentResolver.Query(uri, new [] { OpenableColumns.DisplayName, OpenableColumns.Size}, null, null, null)) var file = ContentResolver.OpenFileDescriptor(uri, mode: "r");