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/
Download the example app
Demonstration video on YouTube
Target platforms
- API level 14 or later
Latest version
- Version 0.11.0 (October 29, 2017) ( RELEASE NOTES)
Recent Breaking Change Info
-
v0.11.0:
- Since official support libraries have dropped support older API levels than v14, this library does also dropped support them since v0.11.0. If you still need to support API level v9, please continue to use v0.10.6.
- A new callback
onItemSwipeStarted()
is added toSwipeableItemAdapter
. Users must invoke appropriatenotify*()
method in this method. - A new callback
onItemDragStarted()
is added toDraggableItemAdapter
. Users must invoke appropriatenotify*()
method in this method. - A new callback
onItemDragFinished()
is added toDraggableItemAdapter
. Users must invoke appropriatenotify*()
method in this method.
-
v0.10.4:
OnGroupExpandListener
andOnGroupCollapseListener
takespayload
parameter. (related: issue #350)
Getting started
This library is published on jCenter. Just add these lines to build.gradle
.
dependencies {
implementation ('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar'){
transitive=true
}
}
Please check the Getting Started section on the official documentation site for more details.
Examples
Please check the implementation of the simple examples.
Drag & Drop related examples
- Basic
- Minimal
- Draggable grid
- Draggable staggered grid
- Draggable with section
- Drag on Long press
- Uses onCheckCanDrop()
Expandable item related examples
Swipeable related 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.