我正在尝试制作一个简单的应用程序,以更好地理解如何在Android上使用触摸事件。现在,我的Activity只是将ImageView移动到屏幕上触摸的坐标(MotionEvent的坐标)。我可以通过应用一个简单的技巧来设置图像的新位置,该值由相对于图像位置的触摸坐标组成(
getX()
和getY()
)。 dx和dy变量负责存储这些相对值,使触摸保持在图像内。
现在,我想在Activity中放置2个ImageView,并仅为ImageView设置两个固定点。一旦用户将一个ImageView拖动到另一个ImageView的中心,两个图像就会交换位置,但要正确执行此操作,我希望获取图像中心的实际坐标。我已经注释了代码的某些部分,以显示问题。如您在第一张图片中所见,当视图创建时,图像坐标只是(0, 0)
,无论它在哪里(只要初始位置被定义为布局参数,例如CENTER_IN_PARENT
)。
图片: