简单来说就是, 界面上一个正方形 view (图片, 注册长按监听后会唤起一个 popup window (覆盖了这个 view ),我想在让手指离开屏幕(即 action up)后,popup window 消失。 我让 view 注册 touch 事件, 在捕捉到 action up 事件后,popupWindow.dismiss().
问题是,popupwindow 出现后, 手指在屏幕上滑一下(即捕捉到 action moves 事件),然后就再也捕捉不到事件了(直接结果就是 popupwindow.dismiss() 不会被调用), 我尝试打印出 action down/move/up 结果,唤起 popup ( action down 可以捕捉),而后抬起手指 popupwindow 能消失( action up ),前提是中间没有 acion move, 如果唤起 popup 后,滑动屏幕( action down 可以捕捉,打印出来),而后无论再 move,或者手指抬起,什么事件都捕捉不到(即没有打印出结果, 不管是否在那个 view 里面滑动或者抬起)
我尝试在 popup window 里拦截事件,但是结果还是一定要在 popup 唤起后,抬起手指,然后再点击,popup 才拦截到事件.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.