Skip to content

MLSDev/AnimatedRecyclerView

Repository files navigation

Travis-ci License Download

AnimatedRecyclerView

A RecyclerView with layout animations

Demo

Setup

To use this library your minSdkVersion must be >= 16.

In your build.gradle :

dependencies {
    implementation "com.mlsdev.animatedrv:library:1.0.1"
}

AndroidX support

dependencies {
    implementation "com.mlsdev.animatedrv:library:2.0.0"
}

Example

From the layout

<com.mlsdev.animatedrv.AnimatedRecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:animationDuration="600"
        app:layoutAnimation="@anim/layout_animation_from_bottom"
        app:layoutManagerOrientation="vertical"
        app:layoutManagerReverse="false"
        app:layoutManagerType="linear" />

You can create any layout animations

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
    android:animation="@anim/item_animation_from_bottom"
    android:animationOrder="normal"
    android:delay="15%" />
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500">

    <translate
        android:fromYDelta="50%p"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toYDelta="0" />

    <alpha
        android:fromAlpha="0"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toAlpha="1" />

</set>

From the code

AnimatedRecyclerView recyclerView = new AnimatedRecyclerView.Builder(this)
                .orientation(LinearLayoutManager.VERTICAL)
                .layoutManagerType(AnimatedRecyclerView.LayoutManagerType.LINEAR)
                .animation(R.anim.layout_animation_from_bottom)
                .animationDuration(600)
                .reverse(false)
                .build();

Start animation

  • First option
adapter.notifyDataSetChanged();
recyclerView.scheduleLayoutAnimation();
  • Second option Your RecyclerView must be casted to the AnimatedRecyclerView and an adapter must be set.
recyclerView.notifyDataSetChanged();

Authors

About MLSDev

MLSDev.com

AnimatedRecyclerView is maintained by MLSDev, Inc. We specialize in providing all-in-one solution in mobile and web development. Our team follows Lean principles and works according to agile methodologies to deliver the best results reducing the budget for development and its timeline.

Find out more here and don't hesitate to contact us!