whatisgithub

What is android-pulltorefresh?

chrisbanes/android-pulltorefresh — explained in plain English

Analysis updated 2026-06-24

8,653JavaAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

An archived Android library that added pull-to-refresh gesture support to lists, grids, web views, and scroll views, superseded by Android's built-in SwipeRefreshLayout and kept today for historical reference and legacy app maintenance.

Mindmap

mindmap
  root((android-pulltorefresh))
    What it does
      Pull-to-refresh gesture
      No official alternative then
      Archived project
    Supported views
      List and grid
      Web and scroll view
      View pager
    Features
      Top and bottom pull
      Animated indicator
      End-of-list listener
    Status
      Apache 2.0
      Superseded by SwipeRefreshLayout
      Legacy use only
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

What do people build with it?

USE CASE 1

Maintain pull-to-refresh in a legacy Android project still targeting API level 9 (Android 2.3) where the modern built-in widget is unavailable.

USE CASE 2

Study how pull-to-refresh was implemented before Android's official support library shipped it as a built-in component.

USE CASE 3

Migrate an existing app away from this library to the official SwipeRefreshLayout by comparing the two APIs side by side.

What is it built with?

JavaAndroidMaven

How does it compare?

chrisbanes/android-pulltorefreshamitshekhariitbhu/android-debug-databaseybq/android-spinkit
Stars8,6538,6568,649
LanguageJavaJavaJava
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Project is archived and no longer maintained, Android's built-in SwipeRefreshLayout is the recommended replacement for new projects.

Free to use and modify for any purpose including commercial, as long as you preserve the copyright and license notice, Apache 2.0 license.

So what is it?

This is a no-longer-maintained Android library that added a "pull to refresh" gesture to list-based screens in apps. The README opens with a clear notice that the project is archived and no longer receiving updates, so it is mainly of historical interest today. At the time of its active development, it was a popular solution for a common mobile UX pattern. The idea is simple: a user scrolls down past the top of a list, sees a loading indicator appear, and releases their finger to trigger a data refresh. This library made that behavior available across several Android view types, including standard lists, expandable lists, grids, web views, scroll views, and view pagers. It supported pulling from the top, pulling from the bottom, or both directions at once. Beyond the basic gesture, the library included animated scrolling that worked on older Android versions (back to 2.3), on-screen indicators to signal when a pull was available, and a listener that fired when a user reached the end of a list. Configuration options were extensive, covering colors, text labels, and animation behavior, with documentation hosted on a companion wiki. The project used Maven for dependency management, which was the standard approach for Android libraries of its era. A sample application was published to Google Play so developers could try it before integrating. The library was released under the Apache 2.0 license, meaning it could be used freely in commercial apps. Android's official support libraries later shipped pull-to-refresh as a built-in component, which made third-party solutions like this one redundant. The author credits an earlier library by Johan Nilsson as the original inspiration, though the graphics and animations were later replaced entirely.

Copy-paste prompts

Prompt 1
I'm maintaining a legacy Android 2.3 app and need pull-to-refresh. How do I add android-pulltorefresh via Maven and wire it to my ListView?
Prompt 2
I want to understand how android-pulltorefresh animated the loading indicator. Walk me through the key classes and how gesture detection works.
Prompt 3
I'm migrating from android-pulltorefresh to Android's built-in SwipeRefreshLayout. What layout XML and Java code changes do I need to make?

Frequently asked questions

What is android-pulltorefresh?

An archived Android library that added pull-to-refresh gesture support to lists, grids, web views, and scroll views, superseded by Android's built-in SwipeRefreshLayout and kept today for historical reference and legacy app maintenance.

What language is android-pulltorefresh written in?

Mainly Java. The stack also includes Java, Android, Maven.

What license does android-pulltorefresh use?

Free to use and modify for any purpose including commercial, as long as you preserve the copyright and license notice, Apache 2.0 license.

How hard is android-pulltorefresh to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is android-pulltorefresh for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.