如何捕获ViewRoot的Touch事件(或通常解决上述问题)

时间:2019-03-01 10:19:20

标签: android ontouch

在我的应用中,如果将它快速按两次到任何地方,除了按钮或文本视图之类的组件外,我都需要使其以特定的方式做出反应。

除了以下情况,我可以在任何地方捕获它:

如果显示定制的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来对我拥有的元素。

是否有捕获该事件的任何方法,或有其他解决此问题的方法?

0 个答案:

没有答案