很简单事件传递的问题,之前遇到问题一直觉得是事件传递问题,但是没去实践,花了时间,记录下。
public class MyScrollView extends ScrollView{ public MyScrollView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return false; } }
onInterceptTouchEvent返回值改成false,就好了,原理是当事件作用在子控件的时候不做拦截,由子控件去处理。
<ygsoft.com.disposal.ui.customview.MyScrollView android:layout_width="match_parent" android:layout_height="wrap_content">
自定义ScrollView放xml里面就好了。
scrollView外面记得加父控件,不然报错