explaingit

cymcsg/ultimaterecyclerview

7,178JavaAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

An Android library that extends the standard list-scrolling component with pull-to-refresh, infinite scrolling, swipe-to-delete, drag-to-reorder, item animations, and sticky section headers, all added without rebuilding from scratch.

Mindmap

mindmap
  root((UltimateRecyclerView))
    What it does
      Extends RecyclerView
      Adds common features
    Features
      Pull-to-refresh
      Infinite scrolling
      Swipe to delete
      Sticky headers
    Tech stack
      Java
      Android
      Gradle
    Audience
      Android developers
      Mobile app builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add pull-to-refresh and automatic infinite scrolling to a list screen in your Android app without writing those features from scratch

USE CASE 2

Let users swipe list items to delete them or drag to reorder them in a to-do or shopping-list app

USE CASE 3

Display a categorized list with sticky section headers that stay pinned at the top while the user scrolls through grouped content

Tech stack

JavaAndroidGradle

Getting it running

Difficulty · easy Time to first run · 30min
Use freely for any purpose including commercial apps, as long as you keep the copyright notice.

In plain English

In Android app development, RecyclerView is the standard component for displaying long scrollable lists of items. It handles scrolling and item reuse efficiently, but it does not include features that most apps need, like pull-to-refresh or automatically loading more items when the user reaches the bottom of the list. UltimateRecyclerView is a library that wraps RecyclerView and adds those features so developers do not have to build them separately. The added features include pulling down at the top of the list to trigger a refresh, loading more items automatically when the user scrolls to the bottom (often called infinite scrolling), swiping an item sideways to delete it, dragging items to rearrange their order, several animation styles for list items, a parallax header image that scrolls at a different speed than the list content, sticky section headers that stay pinned at the top of the screen as you scroll past them, and a toolbar or floating action button that appears or disappears based on scroll direction. The library is added to an Android project through Gradle or Maven. In a layout file, usage looks the same as a standard RecyclerView: you replace the usual tag with UltimateRecyclerView. The library supports AndroidX. The README notes the project is under active development. The version log covers updates from v0.3.x through v0.9.0, with notable milestones including AndroidX migration and a revised adapter class. A demo app showing the features is available on Google Play and as a downloadable APK on the releases page. A wiki provides additional usage examples. The library assembles features from several open-source projects, which are credited in the README, including separate libraries for animations, swipe gestures, pull-to-refresh styles, and sticky headers. The project is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Using UltimateRecyclerView in my Android app, show me how to set up a list that automatically loads more items when the user scrolls to the bottom.
Prompt 2
How do I add swipe-to-delete and drag-to-reorder to a list in Android using UltimateRecyclerView?
Prompt 3
Set up sticky section headers in an Android app using UltimateRecyclerView so category names stay pinned at the top while scrolling.
Prompt 4
Show me how to add a parallax header image above an UltimateRecyclerView list in my Android app.
Open on GitHub → Explain another repo

← cymcsg on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.