1
  • 最佳答案

    这个让我想起很久之前做的一个rv元素拖拽脱离rv组件之外。https://images.xiaozhuanlan.com/photo/2023/f30191e9d078ed1ef852da496ffcbb93.gif,左边是rv,右边是rv之外地方。

    松手后,让item还原。

    按照问题的描述,按住某个位置然后监听,手指移动到目标之外正常来说事件就是cancel,这是符合正常逻辑的。上面我做的这个,和这个问题有一个共同点,就是目标被拖走了,松手逻辑一定是up。只不过问题的view不会跟着手指。

    解决方案:

    上面我做的效果是这样的,长按,复制一个目标view,显示在被复制的目标上面,被复制的view需要一个依赖容器,那就创建一个全屏透明的frame,让被复制的依赖,手指就可以全屏移动了,只不过移动的同时反馈的xy控制了复制后的view。监听被复制的view的touch,松手就可以拿到up。


    回到这个问题,也可以同样解决,长按,复制录音view,创建透明全屏布局,把复制后view放进去。放的位置和被复制的位置一样的,甚至可以不显示也可以。这个时候,复制后的view设置touch,拿到这个touch的up,可以继续你的逻辑。

    1139423796017500160  评论     打赏       断点
    • 橘浩  回复 @断点
      长按同时复制目标view到frame,frame设置为visible,在frame中判断touch是吗?你做的这个例子更复杂,牛
      橘浩 2024-12-23 11:06   回复 1374278154541199360
    • 断点  回复 @橘浩
      你监听复制后的view的touch就行了。这个view移动范围是全屏的,没有cancel出发场景,只有move,和up。能理解不。
      断点 2024-12-23 11:15   回复 1139423796017500160
    • 橘浩  回复 @断点
      *__*没有理解到,这个view怎么复制出来的,如何监听
      橘浩 2024-12-23 11:26   回复 1374278154541199360
    • 断点  回复 @橘浩
      监听就是setOnTouchListener,复制,只是一个方式,你甚至都不用复制,直接new一个view,用这个view来setOnTouchListener,用这个触摸来监听up
      断点 2024-12-23 16:20   回复 1139423796017500160
    • 橘浩  回复 @断点
      原来是这样,谢谢
      橘浩 2024-12-23 17:10   回复 1374278154541199360
    • 橘浩  回复 @断点
      尝试的时候,可以移动,但是监听不到复制后view的up,不知道是什么问题。然后在处理view移动和viewpager的滑动冲突时,在父组件dispatchevent里面设置点击原view时候拦截事件,就可以一直触发up,不触发move,有点误打误撞的意思,完成了效果。但是像你给的例子里面的移动就完成不了
      橘浩 2024-12-24 16:25   回复 1374278154541199360
  • 事件的传递机制是从父到子,如果子没有消费,又到父那里。按这个思路,你可以给你的空间包一个老爸,透明的就好,或者你复写你控件的容器。我看了一下微信语音的,按着就整个屏幕了。起了一个遮罩层。

    1153952789488054272  评论     打赏       拉大锯
    • 橘浩  回复 @拉大锯
      确实微信的是一整个页面遮罩,分成三块区域,也可以试试
      橘浩 2024-12-23 11:01   回复 1374278154541199360
  •  case MotionEvent.ACTION_UP:
     case MotionEvent.ACTION_CANCEL:
     ...
      todo
     ...
     break;
    


    1331285677068902400  评论     打赏       ak
    • 拉大锯  回复 @ak
      我理解他想滑动到图标以外,放手了才是取消。
      拉大锯 2024-12-23 00:27   回复 1153952789488054272
    • 橘浩  回复 @拉大锯
      对的对的
      橘浩 2024-12-23 11:06   回复 1374278154541199360
相关问题
_empty · Android
2019-10-20 23:51 638 2
application · Android
2019-11-05 00:26 796 2
三流废物 · android / 小白
2019-11-22 00:35 1076 5
豪豪好嘛 · Android / GPS
2019-11-26 20:15 899 5
Jian · android
2019-11-28 01:51 626 2
2019-12-01 01:01 715 2
小陈学编程 · Android
2019-12-01 19:08 643 2
fkinggod · Android
2019-12-08 09:19 668 5
fkinggod · Android
2019-12-08 20:47 634 2
kissmyass · Android
2019-12-09 07:08 542 2
独一无二的名zi · Android
2019-12-30 06:48 422 2