屏蔽scrollview的滚动

  外层有scrollview时,手指移动方向跟滚动条方向相同时,会导致scrollview的滚动。此时如果不想滚动的话,可以在要接受ontouch的子视图,或者子子视图中的touch监听里加上v.getParent().requestDisallowInterceptTouchEvent(true);,就可屏蔽scrollview的滚动。

  例子如下:xml文件

<Scrollview
    ........>
    <RelativeLayout
       ......>
             <View
                     android:id="@+id/child_view"
                     ..........
              />
    </RelativeLayout>
</Scrollview>    

 现在我要准备在child_view接受ontouch事件,并且屏蔽Scrollview的滚动事件

child_view.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				v.getParent().requestDisallowInterceptTouchEvent(true);
				return false;
			}
		});

笔者亲测有效。

原文地址:https://www.cnblogs.com/jlyg/p/6601498.html