80,351
社区成员
发帖
与我相关
我的任务
分享
int down=0;
float dx=0;
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
System.out.println("MyViewPage onInterceptTouchEvent");
try{
if(getPosition()==0&&ev.getY()<220){
getParent().requestDisallowInterceptTouchEvent(true);
return false;//true viewPage可以使用
}
final int action = ev.getAction();
final float x = ev.getX();
switch (action) {
case MotionEvent.ACTION_DOWN:
mLastMotionX = x;
down=0;
case MotionEvent.ACTION_MOVE:
dx = x - mLastMotionX;
if(/*dx>0&&*/getCurrentItem()==0) {
if(ev.getY()<220){
getParent().requestDisallowInterceptTouchEvent(true);
return false;//true viewPage可以使用
}
else{
if(dx>0)
return false;
}
}
break;
}
System.out.println("dx"+Math.abs(dx)+"");
if(Math.abs(dx)>15)//就是这里造成的
return true;
else
return false;
}catch(IllegalArgumentException ex) {
ex.printStackTrace();
return false;
}
}