在我的应用中,如果将它快速按两次到任何地方,除了按钮或文本视图之类的组件外,我都需要使其以特定的方式做出反应。
除了以下情况,我可以在任何地方捕获它:
如果显示定制的AlertDialog
,如果我以描述的方式在边框的附近按,或者甚至按了其后的LinearLayout
,都不会发生反应
但是我已经在“运行”窗口中检查了是否按下了以下内容:
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
因此,我想如果我能捕获到它,只需检查一下短时间内发生了2 ACTION_DOWN
就可以满足我的需要。
我试图重载公共布尔onTouchEvent(MotionEvent ev)函数,但从未触发过。
我也尝试过尝试覆盖public boolean onInterceptTouchEvent(MotionEvent ev)
,如here所示,但是我无法掌握如何获得ViewGroup
来对我拥有的元素。
是否有捕获该事件的任何方法,或有其他解决此问题的方法?