ListView嵌套webview后,webview的纵向滑动会与listview的滑动冲突,解决方法如下
webview=findview…….
listview=findview…….
webview.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP)
listview.requestDisallowInterceptTouchEvent(false);
else
listview.requestDisallowInterceptTouchEvent(true);
return false;
}
});
当用户按下的时候,我们告诉父组件,不要拦截我的事件(这个时候子组件是可以正常响应事件的),拿起之后就会告诉父组件可以阻止。
ViewGroup.onInterceptTouchEvent(MotionEvent)
– 这允许一个视图组ViewGroup 在分发给子视图时观察这些事件。
ViewParent.requestDisallowInterceptTouchEvent(boolean)
– 在一个父视图之上调用这个方法来表示它不应该通过onInterceptTouchEvent(MotionEvent)来捕获触摸事件。