Android 解决滑动冲突

跟大家分享一下解决控件滑动冲突的经验

第一种方式:

通过谷歌提供的api requestDisallowInterceptTouchEvent,这个方法是ViewParent类的一个公共方法,改方法的调用时机是子view的触摸事件里面通过getParent()来调用,意思大概就是 “请求父类不要拦截”。

Android 解决滑动冲突_第1张图片

案列是ViewPager(横向滑动)+ WebView(竖向滑动)。
思路是:
1.重写WebView(子view)的OnTouchListener 或者 WebView(子view)设置setOnTouchListener 
2. 此案例正常业务逻辑下是上下滑动交给子view(webview)处理,左右滑动交给父view (viewpager)处理


Android 解决滑动冲突_第2张图片

如果Webview的业务存在页面横向滑动的情况的话,则可以使用边缘滑动的处理方式,如果是左右两边缘触摸左右滑动则交给Viewpager(父view)处理,否则交给webview(子view)处理


Android 解决滑动冲突_第3张图片

你可能感兴趣的:(Android 解决滑动冲突)