Viewpager 主要通過攔截觸摸事件的方式來解決滑動沖突,當 Viewpager 檢測到用戶在水平方向滑動時,會攔截并消費掉 MotionEvent,從而不會傳遞到子 View 進行處理。這樣就可以確保用戶在 Viewpager 上的滑動不會與子 View 沖突。
另外,也可以通過設置 Viewpager 的滑動方向來避免滑動沖突,例如設置為只能水平滑動或者只能垂直滑動。
如果遇到特殊情況下無法通過以上方法解決滑動沖突,還可以通過重寫 onInterceptTouchEvent() 和 onTouchEvent() 方法來自定義處理滑動沖突的邏輯。