我正在通过网络和文档搜索拦截点击事件,让超级管理在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或其他任何东西推迟特殊视图上的事件?