【发布时间】:2020-06-01 17:06:17
【问题描述】:
我正在尝试实现拖放来创建一个语法练习,其中您必须用正确的单词完成句子,将正确的答案拖到正确的位置(如下图所示)。
我尝试通过使用自定义渲染器来实现这一点,创建一些扩展的原生视图来覆盖实现拖放的方法(如OnTouchEvent for Android,TouchesBegan、TouchesMoved、TouchesEnded for iOS )。在这两个平台中,我都可以拖动自定义本机视图,但只有在 iOS 中,我才能将它们拖放到我想要的特定目标视图中。在 Android 中,它似乎与 Xamarin Forms 视图坐标和 android 自定义渲染器中使用的本机 Android 坐标发生冲突。即使我尝试“调整”它们(通过手动插入我想要放置视图的坐标),检查 if(destinationRect.Contains(myTouchX, myTouchY) 似乎也无法正常工作。
此处的 Git 存储库示例:Git example
有人知道怎么解决吗? 或者有谁知道如何以任何其他最简单的方式实现拖放(使用适当的拖放区进行检查)?
【问题讨论】:
标签: xamarin xamarin.forms drag-and-drop coordinates custom-renderer