2015-07-26 9 views
6

Ich möchte einen Bounce-Effekt auf einem RecyclerView verwenden. Ein Bounce-Effekt, wenn ich den Inhalt überstreiche ...Bounce-Effekt auf RecyclerView

Gibt es eine Bibliothek oder ein Beispiel dafür?

+0

Können Sie finden? –

+0

leider noch nicht ... – prom85

+2

hier sah ich eine lib namens [Bounce] (https://github.com/surahul/Bounce) kann Ihnen helfen. – xiaominglui

Antwort

1

können Sie diese Bibliothek verwenden https://github.com/EverythingMe/overscroll-decor So müssen Sie Ihre eigene ScrollDecorAdapter wie diese

public class CustomRecyclerViewOverScrollDecorAdapter extends RecyclerViewOverScrollDecorAdapter { 
RecyclerView mRecyclerView; 

public CustomRecyclerViewOverScrollDecorAdapter(RecyclerView recyclerView) { 
    super(recyclerView); 
    mRecyclerView = recyclerView; 
} 

@Override 
public boolean isInAbsoluteEnd() { 
    LinearLayoutManager linearLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); 
    if (linearLayoutManager.getOrientation() == LinearLayoutManager.HORIZONTAL) { 
     return !mRecyclerView.canScrollHorizontally(1); 
    } else { 
     return !mRecyclerView.canScrollVertically(1); 
    } 
    } 
} 

Und in ihrem Fragment/Aktivität Verwendung

CustomVerticalOverScrollDecorator overScrollDecorator = 
      new CustomVerticalOverScrollDecorator(new CustomRecyclerViewOverScrollDecorAdapter(yourRecyclerView)); 

Wo CustomVerticalOverScrollDecorator smth wie diese

erstellen
public class CustomVerticalOverScrollDecorator extends VerticalOverScrollBounceEffectDecorator { 

public CustomVerticalOverScrollDecorator(IOverScrollDecoratorAdapter viewAdapter) { 
    this(viewAdapter, DEFAULT_TOUCH_DRAG_MOVE_RATIO_FWD, DEFAULT_TOUCH_DRAG_MOVE_RATIO_BCK, DEFAULT_DECELERATE_FACTOR); 
} 

public CustomVerticalOverScrollDecorator(IOverScrollDecoratorAdapter viewAdapter, float touchDragRatioFwd, float touchDragRatioBck, float decelerateFactor) { 
    super(viewAdapter, touchDragRatioFwd, touchDragRatioBck, decelerateFactor); 

    // Some setup on the view itself. 
    } 
    } 
9

ich auch konnte keine Bibliothek finden, die den Bounce-Effekt für RecyclerView unterstützt. Schließlich habe ich selbst eine neue Bibliothek implementiert. Schau dir meine Bibliothek overscroll-bouncy-android an. . Derzeit unterstützt RecyclerView mit LinearLayoutManager. Ich arbeite auch an ListView und ScrollView.

meine Bibliothek benutzen:

Schritt 1:

dependencies { 
    compile 'com.chauthai.overscroll:overscroll-bouncy:0.1.0' 
} 

Schritt 2:

<com.chauthai.overscroll.RecyclerViewBouncy 
    android:id="@+id/recyclerView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 
+0

es ist genau das, was ich suche! Danke Mann –

+0

Ich habe RecyclerViewBouncy in SwipeRefreshLayout, und es sieht aus wie RecyclerViewBouncy Schwalben Pull-Down-Ereignis und Aktualisierung wird nicht ausgelöst – Delorean