Xamarin Перетащите с зоной падения - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь реализовать перетаскивание, чтобы создать грамматическое упражнение, в котором вы должны дополнить предложение правильным словом, перетаскивая правильный ответ в нужное место (как показано на рисунке ниже). enter image description here

Я пытался добиться этого с помощью пользовательского средства визуализации, создавая некоторые расширенные собственные представления, которые переопределяют методы для реализации их перетаскивания (например, OnTouchEvent для Android, и TouchesBegan, TouchesMoved, TouchesEnded для iOS). На обеих платформах я могу перетаскивать пользовательские собственные представления, но только в iOS я могу перетащить их в указанное c назначение назначения, которое мне нужно. В Android это, кажется, конфликтует с координатами вида форм Xamarin и собственными Android координатами, используемыми в пользовательском рендере android. Даже если я пытаюсь их «подкорректировать» (вручную вставляя координаты, в которые я хочу добавить вид), кажется, что проверка if(destinationRect.Contains(myTouchX, myTouchY) не работает должным образом.

Git пример репозитория здесь: Git пример

Кто-нибудь знает, как это решить? Или кто-нибудь знает, как реализовать перетаскивание (с соответствующей проверочной зоной) любым другим простым способом?

1 Ответ

1 голос
/ 18 февраля 2020

В Android он предоставляет метод View.StartDrag(ClipData, View+DragShadowBuilder, Object, Int32) Method для запуска операции перетаскивания.

Вы можете проверить документ MS.

View.StartDrag(ClipData, View+DragShadowBuilder, Object, Int32) Method: https://docs.microsoft.com/en-us/dotnet/api/android.views.view.startdrag?view=xamarin-android-sdk-9

View.StartDragAndDrop(ClipData, View+DragShadowBuilder, Object, Int32) Method: https://docs.microsoft.com/en-us/dotnet/api/android.views.view.startdraganddrop?view=xamarin-android-sdk-9

Исходя из моего поиска, этот блог будет полезен для этого метода. https://pumpingco.de/blog/adding-drag-and-drop-to-your-android-application-with-xamarin/

Вы можете загрузить исходный файл с GitHub. https://github.com/Pumpingcode/Xamarin-DragAndDropDemo

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...