viewpager嵌套scrollview 造成scrollview沒滑到頂部和底部的時候viewpager不能左右滑動
解決方法:重寫scrollview的onInterceptTouchEvent
float mDownX;
float mDownY;
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
//ev.getRawX() 拿到相對于屏幕的坐標(biāo)
mDownX = ev.getX();//拿到相對于控件本身的位置
mDownY = ev.getY();
getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_MOVE:
float moveX = ev.getX();
float moveY = ev.getY();
//計算x軸的變化量
float X = moveX - mDownX;
//計算y軸變化量
float Y = moveY - mDownY;
//計算x軸的變化量
float diffX = Math.abs(moveX - mDownX);
//計算y軸變化量
float diffY = Math.abs(moveY - mDownY);
getParent().requestDisallowInterceptTouchEvent(false);
return true;
}
break;
case MotionEvent.ACTION_UP:
break;
}
返回super可能會導(dǎo)致ACTION事件不響應(yīng)
return super.onInterceptTouchEvent(ev);
// return true;
}