- Add the Codota plugin to your IDE and get smart completions
private void myMethod () {}
private static void settleViewPagerIfFinished(ViewPager pager, @NonNull MotionEvent event) { if (event.getActionMasked() == MotionEvent.ACTION_UP || event.getActionMasked() == MotionEvent.ACTION_CANCEL) { // Hack: if ViewPager is not settled we should force it to do so, fake drag will help try { // Pager may throw an annoying exception if there are no internal page state items pager.beginFakeDrag(); if (pager.isFakeDragging()) { pager.endFakeDrag(); } } catch (Exception ignored) { } } }
private void passEventToViewPager(@NonNull MotionEvent event) { if (viewPager == null) { return; } MotionEvent fixedEvent = obtainOnePointerEvent(event); fixedEvent.setLocation(lastViewPagerEventX, 0f); if (isViewPagerInterceptedScroll) { viewPager.onTouchEvent(fixedEvent); } else { isViewPagerInterceptedScroll = viewPager.onInterceptTouchEvent(fixedEvent); } // If ViewPager intercepted touch it will settle itself automatically, // but if touch was not intercepted we should settle it manually if (!isViewPagerInterceptedScroll && hasViewPagerX()) { settleViewPagerIfFinished(viewPager, event); } // Hack: ViewPager has bug when endFakeDrag() does not work properly. But we need to ensure // ViewPager is not in fake drag mode after settleViewPagerIfFinished() try { if (viewPager != null && viewPager.isFakeDragging()) { viewPager.endFakeDrag(); } } catch (Exception ignored) { } fixedEvent.recycle(); }
if (mViewPager.isFakeDragging() || mViewPager.beginFakeDrag()) { mViewPager.fakeDragBy(deltaX); if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag(); break;