h6ah4i/android-advancedrecyclerview

RecyclerView extension library which provides advanced features. (ex. Google's Inbox app like swiping, Play Music app like drag and drop sorting)

Java

5,311

663 commits

updated Aug 21, 2023

See the code

README

Advanced RecyclerView

This RecyclerView extension library provides Google's Inbox app like swiping, Play Music app like drag-and-drop sorting and expandable item features. Works on API level 14 or later.

Documentation site: https://advancedrecyclerview.h6ah4i.com/

Maven Central Android Arsenal


Download the example app

Get it on Google Play

Demonstration video on YouTube

Advanced

Target platforms

  • API level 14 or later

Latest version

Recent Breaking Change Info

  • v1.0.0:
    • Migrated to AndroidX (Use v0.11.0 instead if your project uses support libraries)
    • BaseWrapperAdapter
    • Removed some deprecated features
      • SwipeableItemConstants.REACTION_CAN_SWIPE_BOTH
      • SwipeableItemConstants.REACTION_CAN_NOT_SWIPE_BOTH
      • SwipeableItemConstants.REACTION_CAN_NOT_SWIPE_BOTH_WITH_RUBBER_BAND_EFFECT
    • New DraggableItemState getDragState() method added to the DraggableItemViewHolder interface
    • New SwipeableItemState getSwipeState() method added to the SwipeableItemViewHolder interface
    • New ExpandableItemState getExpandState() method added to the ExpandableItemViewHolder interface

👉 Migration guide from v0.11.0 to v1.0.0

Getting started

This library is published on Maven Central. Just add these lines to build.gradle.

repositories {
+     mavenCentral()
}

dependencies {
+     implementation 'com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:1.0.0'
}

Please check the Getting Started section on the official documentation site for more details.


Examples

Please check the implementation of the simple examples.

Headers and Footers examples

WrapperAdapter examples

Hybrid examples

Other examples

iOS Mail app like swipe action


License

This library is licensed under the Apache Software License, Version 2.0.

See LICENSE for full of the license text.

Copyright (C) 2015 Haruki Hasegawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
android
drag-and-drop
expandable
footer
header
recyclerview
swipe

h6ah4i/android-advancedrecyclerview

RecyclerView extension library which provides advanced features. (ex. Google's Inbox app like swiping, Play Music app like drag and drop sorting)

Java

5,311

663 commits

updated Aug 21, 2023

See the code

README

Advanced RecyclerView

This RecyclerView extension library provides Google's Inbox app like swiping, Play Music app like drag-and-drop sorting and expandable item features. Works on API level 14 or later.

Documentation site: https://advancedrecyclerview.h6ah4i.com/

Maven Central Android Arsenal


Download the example app

Get it on Google Play

Demonstration video on YouTube

Advanced

Target platforms

  • API level 14 or later

Latest version

Recent Breaking Change Info

  • v1.0.0:
    • Migrated to AndroidX (Use v0.11.0 instead if your project uses support libraries)
    • BaseWrapperAdapter
    • Removed some deprecated features
      • SwipeableItemConstants.REACTION_CAN_SWIPE_BOTH
      • SwipeableItemConstants.REACTION_CAN_NOT_SWIPE_BOTH
      • SwipeableItemConstants.REACTION_CAN_NOT_SWIPE_BOTH_WITH_RUBBER_BAND_EFFECT
    • New DraggableItemState getDragState() method added to the DraggableItemViewHolder interface
    • New SwipeableItemState getSwipeState() method added to the SwipeableItemViewHolder interface
    • New ExpandableItemState getExpandState() method added to the ExpandableItemViewHolder interface

👉 Migration guide from v0.11.0 to v1.0.0

Getting started

This library is published on Maven Central. Just add these lines to build.gradle.

repositories {
+     mavenCentral()
}

dependencies {
+     implementation 'com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:1.0.0'
}

Please check the Getting Started section on the official documentation site for more details.


Examples

Please check the implementation of the simple examples.

Headers and Footers examples

WrapperAdapter examples

Hybrid examples

Other examples

iOS Mail app like swipe action


License

This library is licensed under the Apache Software License, Version 2.0.

See LICENSE for full of the license text.

Copyright (C) 2015 Haruki Hasegawa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
android
drag-and-drop
expandable
footer
header
recyclerview
swipe

Project health

Overall

1.7/10

Maintained

0/10

Code review

0/10
OpenSSF Scorecard

Latest release

1.0.0 · Feb 7, 2021

Releases this year

0

Significant stargazers

Sergey Bugaev

308 followers · starred Apr 2020

Josh Friend

259 followers · starred Jun 2017

Ryan Brooks

82 followers · starred Jul 2015

Daniel Frett

39 followers · starred May 2019