Android 解决滑动冲突
2019-12-30 本文已影响0人
AndroidLazy
跟大家分享一下解决控件滑动冲突的经验
第一种方式:
通过谷歌提供的api requestDisallowInterceptTouchEvent,这个方法是ViewParent类的一个公共方法,改方法的调用时机是子view的触摸事件里面通过getParent()来调用,意思大概就是 “请求父类不要拦截”。
案列是ViewPager(横向滑动)+ WebView(竖向滑动)。
思路是:
1.重写WebView(子view)的OnTouchListener 或者 WebView(子view)设置setOnTouchListener
2. 此案例正常业务逻辑下是上下滑动交给子view(webview)处理,左右滑动交给父view (viewpager)处理
如果Webview的业务存在页面横向滑动的情况的话,则可以使用边缘滑动的处理方式,如果是左右两边缘触摸左右滑动则交给Viewpager(父view)处理,否则交给webview(子view)处理