MCPcopy
hub / github.com/h6ah4i/android-advancedrecyclerview

github.com/h6ah4i/android-advancedrecyclerview @1.0.0 sqlite

repository ↗ · DeepWiki ↗ · release 1.0.0 ↗
2,822 symbols 6,850 edges 219 files 429 documented · 15%
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/

Download 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

:point_right: Migration guide from v0.11.0 to v1.0.0

Getting started

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

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.

Drag & Drop related examples

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.

Extension points exported contracts — how you extend this code

ExpandableItemViewHolder (Interface)
Interface which provides required information for expanding item. Implement this interface on your sub-class o [6 implementers]
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/expandable/ExpandableItemViewHolder.java
OnListItemClickMessageListener (Interface)
(no doc) [5 implementers]
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/common/adapter/OnListItemClickMessageListener.java
OnGroupExpandListener (Interface)
Used for being notified when a group is expanded [4 implementers]
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/expandable/RecyclerViewExpandableItemManager.java
EventListener (Interface)
(no doc)
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_s_longpress/SwipeOnLongPressExampleAdapter.java
OnGroupCollapseListener (Interface)
Used for being notified when a group is collapsed [4 implementers]
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/expandable/RecyclerViewExpandableItemManager.java
EventListener (Interface)
(no doc)
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_ds/DraggableSwipeableExampleAdapter.java
DraggableItemAdapter (Interface)
(no doc) [10 implementers]
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/draggable/DraggableItemAdapter.java
EventListener (Interface)
(no doc)
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_s_basic/SwipeableExampleAdapter.java

Core symbols most depended-on inside this repo

add
called by 112
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/event/BaseRecyclerViewEventDistributor.java
size
called by 69
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/event/BaseRecyclerViewEventDistributor.java
getItem
called by 66
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_s_viewpager/ViewPagerSwipeableExamplePagerAdapter.java
setAdapter
called by 48
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/headerfooter/AbstractHeaderFooterWrapperAdapter.java
remove
called by 47
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/event/BaseRecyclerViewEventDistributor.java
isPinned
called by 37
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/common/data/AbstractDataProvider.java
release
called by 35
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/adapter/WrapperAdapter.java
attachRecyclerView
called by 31
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/swipeable/RecyclerViewSwipeManager.java

Shape

Method 2,340
Class 330
Function 111
Interface 41

Languages

Java96%
TypeScript4%

Modules by API surface

library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/draggable/RecyclerViewDragDropManager.java124 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_eds/ExpandableDraggableSwipeableExampleAdapter.java82 symbols
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/expandable/RecyclerViewExpandableItemManager.java69 symbols
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/expandable/ExpandableRecyclerViewWrapperAdapter.java65 symbols
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/swipeable/RecyclerViewSwipeManager.java61 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_e_add_remove/AddRemoveExpandableExampleAdapter.java44 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_ds/DraggableSwipeableExampleAdapter.java43 symbols
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/swipeable/ItemSlidingAnimator.java41 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_ed_with_section/ExpandableDraggableWithSectionExampleAdapter.java40 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_s_longpress/SwipeOnLongPressExampleAdapter.java37 symbols
example/src/main/java/com/h6ah4i/android/example/advrecyclerview/demo_s_basic/SwipeableExampleAdapter.java37 symbols
library/src/main/java/com/h6ah4i/android/widget/advrecyclerview/headerfooter/AbstractHeaderFooterWrapperAdapter.java36 symbols

For agents

$ claude mcp add android-advancedrecyclerview \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact