【Android ViewPager】解決ViewPager使用DepthPageTransformer時事件會被下一頁捕獲導致事件錯亂的問題

panpf發表於2019-04-15

實際情況是你在呼叫 viewPager.setPageTransformer(boolean, PageTransformer)方法設定PageTransformer時第一個引數給的false,應該設定true才對。

這是因為ViewPager預設下一個頁面是繪製在上一個頁面的上面,DepthPageTransformer對下一個頁面的處理是隻設為全透明,但還是位於螢幕中央。這樣一來下一個頁面雖然看不見,但實際上是存在於上一個頁面的上面的,理所當然就會攔截事件。

而第一個引數的意思就是是否要反轉一下讓下一個頁面在上一個頁面底下,因此在使用DepthPageTransformer的時候一定要設定為true。

相關文章