/** * 注释: * Created by weitf on 16/4/27. * Email:weitengfei0212@gmail.com */ public class MyScrollView extends ScrollView { private GestureDetector mGestureDetector; public MyScrollView(Context context, AttributeSet attrs) { super(context, attrs); mGestureDetector = new GestureDetector(context, new MyScrollDetector()); setFadingEdgeLength(0); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); } class MyScrollDetector extends GestureDetector.SimpleOnGestureListener { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { if (Math.abs(distanceY) > Math.abs(distanceX)) {//x轴与y轴滚动距离来判定让ScrollView来处理还是交给子view处理滚动 return true; } return false; } } }
处理ScrollView与ViewPage 滑动冲动
最新推荐文章于 2021-01-21 18:57:57 发布
本文介绍了一种自定义ScrollView的方法,通过实现GestureDetector.SimpleOnGestureListener来解决ScrollView及其子View之间的滚动冲突问题。该解决方案主要关注如何根据触摸事件判断是由ScrollView本身处理滚动还是将事件传递给子View。

499

被折叠的 条评论
为什么被折叠?



