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

时间:2014-12-08 16:07:25

标签: java android ontouchevent

我正在通过网络和文档搜索拦截点击事件,让超级管理在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;
    }
}

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

0 个答案:

没有答案