外层竖向ScrollView,里层横向ScrollView滑动冲突的解决方法
实例如下:
publicclassCustomScrollViewextendsScrollView{
privateGestureDetectormGestureDetector;
View.OnTouchListenermGestureListener;
@SuppressWarnings("deprecation")
publicCustomScrollView(Contextcontext,AttributeSetattrs){
super(context,attrs);
mGestureDetector=newGestureDetector(newYScrollDetector());
setFadingEdgeLength(0);
}
//通过手势判断,来判断是否拦截触摸事件。
@Override
publicbooleanonInterceptTouchEvent(MotionEventev){
returnsuper.onInterceptTouchEvent(ev)&&mGestureDetector.onTouchEvent(ev);
}
//Returnfalseifwe'rescrollinginthexdirection
classYScrollDetectorextendsSimpleOnGestureListener{
@Override
publicbooleanonScroll(MotionEvente1,MotionEvente2,floatdistanceX,floatdistanceY){
if(Math.abs(distanceY)>Math.abs(distanceX)){
returntrue;
}
returnfalse;
}
}
}
以上这篇外层竖向ScrollView,里层横向ScrollView滑动冲突的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。