主要重写以下两个方法
@Override
public boolean dispatchTouchEvent(MotionEvent event){
int x = (int) event.getX();
int y = (int) event.getY();
ViewParent parent = getParent();
// TODO Auto-generated method stubswitch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mLastMotionX = mInitialMotionX = x;
mLastMotionY = mInitialMotionY = y;
if (parent!=null) {
parent.requestDisallowInterceptTouchEvent(true);
}
break;
case MotionEvent.ACTION_MOVE:
int diffX = x - mLastMotionX;
int diffY = y - mLastMotionY;
//父容器可滑动条件if (mParentCanScroll) {
parent.requestDisallowInterceptTouchEvent(false);
}
break;
case MotionEvent.ACTION_UP:
break;
c
解决ViewPager内外层均可滑动时的滑动冲突
最新推荐文章于 2023-02-02 11:55:02 发布