文档不是很清楚https://developer.android.com/reference/android/view/View.OnTouchListener,SO线程也没有任何帮助
所以答案:
如果您返回 false,事件将传递给父视图进行处理。
所以我一遍又一遍地测试它,取任何视图,一个按钮,一个回收视图,任何东西。现在从它的
setOnTouchListener
方法返回 false。视图仍然表现正常。
这意味着事件不会流向其父级,它会在同一视图的
onTouchEvent
中被消耗。然而,从 onTouch
返回 true 将导致事件立即被消耗掉!无法观察到视图中的预期行为。
我想做什么:
我试图找出是否从视图的侦听器的
onTouch
方法返回false 实际上阻止了onTouchEvent
被调用。它没有。然而网上大多数人都说是这样。
你很困惑。返回 true 或 false 不会阻止 onTouchEvent 被调用。绝对没有人这么说。事实上,那是不可能的——onTouchEvent 就是调用 onTouchListener 的东西。返回 true 可以防止调用父视图的 onTouchEvent。包含被触摸视图的视图 - 它所在的布局。不是视图本身。