Machen Sie ViewPager-Snap mit kürzerem Drag

Gibt es eine Möglichkeit, das Support-Paket ViewPager auf die nächste Seite mit einem kürzeren Zug zu schnappen? Das Standardverhalten scheint zu sein, dass, selbst wenn ich fast 75% ziehe, die Seite immer noch auf die vorherige Seite zurückschnappt, wenn ich loslasse. Ich möchte die Snap-Schwelle kürzer machen und den ViewPager auf die nächste Seite einrasten lassen.

Beachten Sie, dass dies für die Ziehung der Geste angewendet wurde. Eine Fling Geste braucht schon viel kürzere Gesten.

  • ANR Input Dispatching Zeitüberschreitung
  • Wie installiere ich eine JRE oder JDK, um die Android Developer Tools unter Windows 7 auszuführen?
  • Kann eine Android-App eine andere Android-App installieren?
  • So speichern Sie das Bild auf SD-Karte auf Taste Klicken Sie auf Android
  • Verschiedene Bibliotheken / Importe je nach Bauart
  • Android Ice Cream Sandwich Edittext: Deaktivieren von Rechtschreibprüfung und Word Wrap
  • Android android Live Video Stream über Wifi direkt (P2P)
  • Google Play Game Services auf einem Desktop-Spiel
  • Ändern Sie die Aktionsleistenhöhe auf Android JellyBean
  • Google Play-Dienste veraltet. Benötigt 9256000 aber gefunden 9080470
  • Version unterstützt von Navigationsschublade in Android
  • API Änderungsfehler beim Aufbau von AOSP 5.1
  • 2 Solutions collect form web for “Machen Sie ViewPager-Snap mit kürzerem Drag”

    Sie können dies ad-hoc machen, ohne sich zu sehr um die Internets von ViewPager zu kümmern, solange Sie die Zielzone erhöhen möchten:

    private class MyPageChangeListener implements OnPageChangeListener { private float mLastPositionOffset = 0f; @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { if(positionOffset < mLastPositionOffset && positionOffset < 0.9) { mViewPager.setCurrentItem(position); } else if(positionOffset > mLastPositionOffset && positionOffset > 0.1) { mViewPager.setCurrentItem(position+1); } mLastPositionOffset = positionOffset; } } 

    Sieht aus wie diese Werte sind hart-codiert in einer privaten Methode, so gibt es keine einfache Möglichkeit, sie zu überschreiben.

    http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/support/v4/view/ViewPager.java#2075

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.