美文网首页
可拖拽可点击控件手势的处理

可拖拽可点击控件手势的处理

作者: biginsect | 来源:发表于2019-05-11 01:47 被阅读0次

在onTouchEvent()方法中处理 ACTION_DOWN、ACTION_MOVE 和 ACTION_UP 三个事件,使用全局标记 isDrag 表示是否正在被拖拽。

  • 在 ACTION_DOWN 时设置为 false 并且记录当前的x 和 y的值。

  • 在 ACTION_MOVE 时记录当前移动的距离,rawX - lastX 为当前x轴移动距离,rawY - lastY 为纵轴移动距离。需要重新绘制当前view(位置已经发生改变)

  • 在ACTION_UP 时设置press状态为 false,根据计算的结果判断拖拽距离是否超过阈值(自行设定),超过则认为是拖拽手势并对 view 进行动画(需要确定移动距离以及是否超出屏幕边缘,超出则放置在边缘。这里需要计算screenWidth 、screenHeight statusBarHeight以及可能存在的虚拟键的 height )。

相关文章

网友评论

      本文标题:可拖拽可点击控件手势的处理

      本文链接:https://www.haomeiwen.com/subject/ajjtaqtx.html