ViewPager 常見滑動衝突解決方法
阿新 • • 發佈:2019-01-31
情況1:ViewPager中的第一個child View 中的子元素要求可以水平滑動.
在實際中遇到的問題是ViewPager中的第一個child View 中的子元素一件拿到了Touch(action=move)的事件,但是滑動的時候距離總是小於ViewConfiguration.get(context).getScaledPagingTouchSlop() ,考慮到ViewPager 本身也可以水平滑動,只是我第一個View
裡面右滑的時候ViewPager沒有在視覺上面給體現出來,解決方法如下:
增加或者參考如下程式碼.
privatevoid requestParentDisallowInterceptTouchEvent
finalViewParent parent = getParent();
if(parent !=null){
parent.requestDisallowInterceptTouchEvent(disallowIntercept);
}
}
@Override
publicboolean dispatchTouchEvent(MotionEvent ev){
requestParentDisallowInterceptTouchEvent(true);
returnsuper.dispatchTouchEvent(ev);
}