2015-02-11 9 views

Antwort

6

Es wird als Overscroller bezeichnet. Listview hat eingebaute Unterstützung für Überrollen. Überprüfen Sie setOverscrollMode und verwandte Methoden setOverscrollHeader und setOverscrollFooter. ListView nutzt den Overscroll-Header/-Footer durch Überschreiben AbsListView.onOverscrolled;, wenn Sie ein anderes Verhalten möchten, können Sie es implementieren, indem Sie es selbst überschreiben.

+0

Ich will es für Viewgroup .. was zu tun ist? –

+1

http://developer.android.com/reference/android/widget/AbsListView.html Überprüfen Sie auch diese http://developer.android.com/training/gestures/scroll.html – goonerDroid

+0

überprüfen Sie die aktualisierte Frage. –

3

Leider gibt es keine fertige Bibliothek oder Funktionalität, um das zu erreichen. Aber es gibt eine gute offene Bibliothek, die du anpassen kannst.

Mein Vorschlag ist zu überprüfen SwipeRefreshLayout, es ist in der Android-Support-Bibliothek.

Diese ViewGroup unterstützt einen Wischvorgang von oben, um einen Rückruf zu erhalten. Sie können ihn wahrscheinlich anpassen, um einen Swipe vom Typ Bottom zu implementieren.

docs: https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

Quellcode: https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v4/java/android/support/v4/widget/SwipeRefreshLayout.java

edit: alternativ wird eine load more Funktion mit Scroll-Hörer zu implementieren relativ einfach, es ist nur ein einfaches OnScrollListener mit dem folgenden Code:

private long lastRequestTime = 0; 
public void onScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount){ 
     if (((firstVisibleItem+visibleItemCount) > totalItemCount - 4) && 
     (lastRequestTime + 1000 < System.currentTimeMillis())) { 
     lastRequestTime = System.currentTimeMillis(); 
     // load more ... 
     } 
} 
+0

Ich habe es mit der Idee von goonerdroid ... thnx eine Menge für Ihre Hilfe. Ich habe dieses Swipe-Layout zu aktualisieren, um die Ansicht zu aktualisieren. –