在Android中拦截点击触摸但不滚动

Hug*_*sse 5 java android touch-event

我已经在网络和文档中搜索以拦截点击事件并让超级管理在 Android 应用程序中滚动。

例如:默认情况下,当我滚动视图时,另一个视图随之移动。我能够获得点击事件,但在我获得 onDown 返回 true 的那一刻;另一个视图无法随之滚动。我试图在 onScroll 上返回 false ,因为它没有成功。

我已经用基本的 onTouchListener 或 GestureDetectorCompat 代码做了同样的事情。

使用手势检测器:

    mGestureDetector = new GestureDetectorCompat(mContext, new ClickListener());

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

class ClickListener extends GestureDetector.SimpleOnGestureListener {

    @Override
    public boolean onDown(MotionEvent e) {
        Log.d(LOG_TAG, "onDown");
        return true;
    }

    @Override
    public void onShowPress(MotionEvent e) {
        Log.d(LOG_TAG, "onShowPress");
    }

    @Override
    public boolean onSingleTapUp(MotionEvent event) {
        Log.d(LOG_TAG, "click");
        return true;
    }

    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
        Log.d(LOG_TAG, "onScroll");
        return false;
    }

    @Override
    public void onLongPress(MotionEvent e) {
        Log.d(LOG_TAG, "onLongPress");

    }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        Log.d(LOG_TAG, "onFling");
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 DispatchTouchEvent 或其他任何方法推迟特殊视图上的事件?