【问题标题】:Android: Pass gesture event to another viewAndroid:将手势事件传递给另一个视图
【发布时间】:2012-11-18 13:44:11
【问题描述】:

我正在继续我的 Sticky ListView 的工作,其中 ListView 中的指定视图在经过时会粘在顶部和/或底部。我通过设置一个与列表项相同的视图来实现这一点,并在列表项在屏幕上和离开屏幕时显示或隐藏它。

我的问题是,当这些“粘性”项目出现时,我希望它们对触摸做出反应,就好像它们是列表视图本身的一部分一样。例如,在顶部粘性上的向下滑动应该使列表视图向下滚动。

我的问题是是否可以为这个视图分配一个触摸监听器,然后将这些事件直接传递给列表。

我希望它会像这样简单:

ListView list;

....

stickyview.setOnTouchListener(new OnTouchListener() {


        @Override
        public boolean onTouch(View arg0, MotionEvent motionEvent) {
            list.onTouchEvent(motionEvent);
            return false;
        }

    });

【问题讨论】:

    标签: android listview ontouchlistener


    【解决方案1】:

    我做了一些细微的调整:

    stickyView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return list.onTouchEvent(event);
            }
        });
    

    【讨论】:

      【解决方案2】:

      在我的情况下,我必须使用 dispatchTouchEvent(MotionEvent event) 来实现这一点

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-10
        • 1970-01-01
        • 1970-01-01
        • 2013-08-14
        相关资源
        最近更新 更多