MultiSnapRecyclerView

Android library for multiple snapping of RecyclerView.

Gradle


dependencies {
    implementation 'com.github.takusemba:multisnaprecyclerview:1.3.3'
}

gravity

Features

This is an Android Library for multiple snapping of RecyclerView.
MultiSnapRecyclerView easily provides a snapping feature to your recycler view.
What this does are clean, neat, and powerful.

  • [x] gravitated snapping to start end and center.
  • [x] snap count to specify the number of items to scroll over.
  • [x] supports horizontal and vertical scrolling.
  • [x] listener to be called when snapped.
  • [x] sample code.
  • [ ] support reverse layout.
  • [ ] test code.

Make sure to use LinearManger. Other managers are not supported.

Usage

Use MultiSnapRecyclerView in your xml file.

<com.takusemba.multisnaprecyclerview.MultiSnapRecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:msrv_gravity="start" or center, end
        app:msrv_ms_per_inch="@dimen/normal_speed" // speed of scrolling through.
        app:msrv_snap_count="2" /> items to scroll over

and simply set a layout manager.

LinearLayoutManager layoutManager = new LinearLayoutManager(this);
multiSnapRecyclerView.setLayoutManager(layoutManager);
multiSnapRecyclerView.setAdapter(adapter);
multiSnapRecyclerView.setOnSnapListener(new OnSnapListener() {
    @Override
    public void snapped(int position) {
        // do something with the position of the snapped view
    }
});

GitHub