2015-07-26 13 views
6

Desidero utilizzare un effetto di rimbalzo su un RecyclerView. Un effetto di rimbalzo ogni volta che sovrascrivo il contenuto ...Effetto bounce su RecyclerView

Esiste una libreria o un esempio per questo?

+0

Eri in grado di trovare uno? –

+0

sfortunatamente non ancora ... – prom85

+2

qui ho visto una lib chiamata [Bounce] (https://github.com/surahul/Bounce) potrebbe aiutarti. – xiaominglui

risposta

1

È possibile utilizzare questa libreria https://github.com/EverythingMe/overscroll-decor Quindi, è necessario creare il proprio ScrollDecorAdapter come questo

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); 
    } 
    } 
} 

E ora nel vostro uso frammento/attività

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

Dove CustomVerticalOverScrollDecorator smth come questo

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

Ho anche non è stato possibile trovare alcuna libreria che supporti l'effetto bounce per RecyclerView. Alla fine ho finito per implementare una nuova libreria da solo. Controlla la mia biblioteca overscroll-bouncy-android. . Attualmente supporta RecyclerView con LinearLayoutManager. Sto anche lavorando su ListView e ScrollView.

di usare la mia biblioteca:

Fase 1:

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

Fase 2:

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

è esattamente quello che sto cercando! Grazie uomo –

+0

Ho RecyclerViewBouncy all'interno di SwipeRefreshLayout, e sembra che RecyclerViewBouncy ingoia l'evento pull down e l'aggiornamento non viene attivato – Delorean

Problemi correlati