【Android ViewPager】解决ViewPager使用DepthPageTransformer时事件会被下一页捕获导致事件错乱的问题

611 阅读1分钟

实际情况是你在调用 viewPager.setPageTransformer(boolean, PageTransformer)方法设置PageTransformer时第一个参数给的false,应该设置true才对。

这是因为ViewPager默认下一个页面是绘制在上一个页面的上面,DepthPageTransformer对下一个页面的处理是只设为全透明,但还是位于屏幕中央。这样一来下一个页面虽然看不见,但实际上是存在于上一个页面的上面的,理所当然就会拦截事件。

而第一个参数的意思就是是否要反转一下让下一个页面在上一个页面底下,因此在使用DepthPageTransformer的时候一定要设置为true。