Android 触摸事件传播

Android touch event propagation

据我了解,Android事件传播是从父元素到子元素,也就是说,它从最外层元素开始,然后从那里向内传播。我的问题是,为什么当我尝试垂直滚动包含在滚动视图上的 viewpager 内的列表视图时,列表视图移动,而不是 viewpager。 好吧,让我换个说法: 我正在尝试创建一个菜单,该菜单会在用户下拉视图寻呼机时出现,让我说得更清楚:

滚动视图 我的自定义菜单 ViewPager(带三个fragment,都有一个lisview) 列表视图

我知道我正在尝试做的事情有点奇怪,但暂时请耐心等待。 :)

如何"disable" 列表视图暂时滚动。

谢谢

看来你必须覆盖滚动事件。一个好的网页是 Disable scrolling in Android ListView 。 主要看dispatchTouchEvent。片段:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    final int actionMasked = ev.getActionMasked() & MotionEvent.ACTION_MASK;
    if (actionMasked == MotionEvent.ACTION_MOVE) {
        // Ignore move events
        return true;
    }

我个人希望它比禁用滚动方法更简单。