30 open-source projects similar to chrisbanes/android-pulltorefresh, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Android PullToRefresh alternative.
AndroidSlidingUpPanel is an Android custom view component and sliding panel library used to create draggable overlays that slide up from the bottom of an application screen. It functions as a nested scrolling UI framework that coordinates touch events between a draggable panel and its internal scrollable content. The library distinguishes itself through a parallax effect implementation that shifts background content at different speeds than the foreground panel. It supports the definition of intermediate anchor points to create partial-view states and allows for transition physics customizati
Android-ViewPagerIndicator is an Android UI component that provides visual paging indicators for ViewPager screens. It consists of a set of widgets, such as dots or titles, that show the current page position and total count within a paginated layout. The library integrates with the Android SDK and Support Library to provide navigation feedback. It synchronizes visual states with a ViewPager to reflect a user's progress as they swipe through content. The project includes options for indicator styling customization via themes, layout attributes, or programmatic method calls.
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
This is an Android pull-to-refresh library and custom view component designed to implement refresh interactions across any Android view. It functions as a gesture interaction tool that manages pull-down motions and touch conflicts to trigger data loading operations. The library provides tools for creating custom refresh headers and indicator visuals, utilizing a path-based animation engine to produce non-linear visual transitions. It includes mechanisms to define specific trigger thresholds through height ratios and user release events. The project covers gesture management and touch interac
MaterialEditText is an Android UI component library and mobile form input framework used to create text fields that implement Material Design standards. It provides a collection of input components featuring floating labels, error states, and themed visual styles. The library enables the rendering of text fields with animated labels and integrated helper text. It supports the addition of design icons and allows for the customization of colors and typefaces for primary, error, and helper text. The framework includes capabilities for mobile input validation, such as enforcing minimum and maxim
BoomMenu is an Android radial menu library and UI animation framework designed to create expandable floating action buttons. It provides a set of programmable custom view components that reveal submenu items in radial, horizontal, or vertical patterns using 3D transformations. The library distinguishes itself through a 3D-transformation animation engine that utilizes non-linear easing, scaling, and rotation to create depth during menu expansion. It includes specialized layout patterns for share-style menus and a coordinate-based mapping system for precise item displacement. The framework cov
This project is a native Android widget toolkit that provides a collection of standardized interface elements for mobile application development. It serves as a comprehensive implementation of the Material Design language, offering ready-to-use widgets and layouts designed to ensure consistent visual and interactive patterns across an application. The library distinguishes itself by integrating directly with the platform view system, allowing developers to maintain a uniform look and feel across different screens. It utilizes a centralized theme object to resolve visual properties and support
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
MPAndroidChart is an Android charting library and data visualization framework that provides a set of reusable view components for rendering statistical data. It enables the display of numerical datasets through various chart types, including line, bar, pie, radar, bubble, and candlestick charts. The library focuses on an interactive graphing workflow, allowing users to explore complex data sets through scaling, panning, and animations. It includes specific support for financial charting to track market trends and price movements, as well as tools for building mobile dashboards.
This is an Android context menu library and UI component toolkit used to create animated, context-sensitive overlay menus that render above the existing view hierarchy. It functions as a navigation framework for implementing interactive menu components and transitions, allowing users to access secondary actions without leaving the primary screen. The library utilizes a fragment-based menu manager to handle the existence and state of menu components by injecting dedicated fragments into the activity window. It provides a set of customizable view-group compositions and a property-based animatio
Android-ObservableScrollView is an Android UI component and scroll event library that serves as a view scroll observer. It monitors user movement within scrollable views to provide callbacks that execute specific logic in response to user interaction. The library enables the tracking of scroll events to trigger custom animations and dynamic visual effects. This allows for the implementation of UI behaviors that react in real time as a user scrolls through content.
XRecyclerView is an Android list component and extension library that adds pull-to-refresh and infinite scrolling behaviors to a standard RecyclerView. It serves as a scrollable mobile UI element designed to manage data-driven lists with support for dynamic headers and footers. The library provides a gesture-based interface for triggering content reloading via a pull-to-refresh widget and implements a mechanism for triggering data fetch callbacks when a user reaches the bottom of a list to enable infinite scrolling. It further supports dynamic list header management and the implementation of
SlidingMenu is an Android navigation drawer library and UI component library used to create side-panel navigation menus that slide over or push primary content. It functions as an activity wrapper and a set of XML layout components to manage the interaction between main content and navigation layers. The library provides a system for menu aesthetic customization, allowing for the adjustment of scroll scales, fade effects, drop shadows, and touch-responsive areas. It implements a slide-in navigation interface that reveals a hidden side panel through programmatic activity wrapping and XML menu
CircleIndicator is a custom Android UI component that functions as a circular page progress indicator. It provides a graphical interface element that represents completion or progress through a circular arc. The component is designed to track a user's position within a sequence of pages, such as during onboarding flow navigation or linear screen transitions. It visualizes progress through a set of screens to provide feedback during mobile app navigation.
SmartTabLayout is an Android user interface navigation component that synchronizes a tabbed navigation strip with the scroll position of a ViewPager. It functions as a layout system that maps page scroll offsets to active tab indicators, providing a visual marker that offers continuous feedback as users swipe through paginated content. The component utilizes an adapter-based system to bind fragment-based page sets to dynamic tab labels. It allows for the replacement of standard tab appearances with custom layouts or user-defined views while maintaining synchronization with the page viewer. T
UltraViewPager is an Android UI component and ViewPager extension that provides a library of page transition animations and an infinite paging controller for mobile screens. It functions as a reusable interface element for rendering paging containers with custom dimensions and aspect ratios. The project implements circular paging navigation that cycles back to the first page after the final screen is reached, creating a continuous loop. It also includes a timer-driven mechanism for automated content rotation and a coordinate-based engine to interpolate view positions and alpha values during p
material-dialogs is a Kotlin UI component library that provides a collection of modal dialogs and bottom sheets for Android applications. It is designed to implement user interface elements that follow Material Design standards. The library provides specialized modal interfaces for selecting calendar dates, clock times, and specific color values. It also includes system chooser integrations for selecting files and directories from local storage. Beyond pickers, the library covers a broader range of interaction components including text input dialogs, modal alerts with action buttons, and bot
BadgeView is a custom UI component for Android that displays numeric or text notification indicators on other view elements. It is built as a Material Design component that functions as an animated and interactive view for signaling alerts or item counts. The component distinguishes itself through support for drag-to-dismiss gestures, allowing users to remove alerts from the screen via touch interactions. It also utilizes smooth visibility animations to transition state changes rather than using immediate shifts. The library covers broad UI capabilities including content management for updat
StickyListHeaders is an Android sticky header library and RecyclerView extension. It serves as a user interface component for organizing large datasets into categorized sections using headers that pin to the top of the screen during scrolling. The library provides functionality for creating sticky section headers and expandable list sections, allowing grouped sub-items to be collapsed or expanded to simplify navigation. The implementation covers viewport coordinate mapping, z-index management for visual layering, and scroll-position-based pinning. It includes mechanisms for tracking header t
RippleEffect is a library and interaction framework for implementing Material Design ripple animations within Android applications. It provides tools to add animated visual feedback to interface elements to signal successful user interactions. The library allows for the customization of ripple effects, including adjustments to color, duration, and scale. It supports both configuration via attributes and dynamic adjustments through setter methods, and includes a listener interface to detect when a ripple animation has finished its execution.
ViewPagerCards is a mobile swipe navigation component and gesture-based view pager used to create horizontal swipable card layouts. It functions as an app onboarding carousel and feature showcase interface to guide users through a linear sequence of screens. The component implements a visual card-based layout designed to demonstrate product capabilities. It enables the creation of interactive feature showcases and introductory onboarding experiences within a mobile application.
AndroidCommon is a comprehensive utility library designed to provide reusable infrastructure and architectural patterns for Android application development. It organizes common helper functions into stateless modules, offering consistent access to system resources, data parsing logic, and core infrastructure abstractions. The framework distinguishes itself by providing specialized components for managing background tasks and complex user interface interactions. It includes utilities for coordinating background file transfers through the system download manager and executing shell commands to
ahbottomnavigation is an Android UI component library that provides a view-based bottom navigation bar for implementing tabbed interfaces. It functions as a navigation framework for managing active tab states and triggering application logic through user interactions with a menu of three to five items. The library includes a dynamic notification badge system that renders visual overlays on navigation items to alert users to pending updates. It also features an interactive view manager that coordinates navigation bar visibility and transitions based on real-time scroll events. The component c
CircleImageView is a custom Android UI component that renders rectangular images as perfect circles with smooth antialiased edges. It functions as an extension of the native Android image view, overriding the drawing pipeline to provide specialized circular masking. The component specifically supports the creation of user profile avatars by providing customizable borders, internal padding, and background fill colors. These visual styles can be defined through custom XML attributes during the view initialization process.
This project provides high-performance list components for React Native that utilize a view-recycling rendering engine. It is designed to display large datasets by reusing existing components instead of destroying and recreating them, which reduces memory usage and prevents blank cells during fast scrolling. The library distinguishes itself through a specialized virtualized list manager and support for masonry grid layouts, which allow for multiple columns with varying item heights. It includes a type-based recycling system that ensures the correct component structure is reused for specific d
BasePopup is an Android popup window library and UI component framework designed for creating custom floating windows and overlays within Android applications. It provides a set of reusable elements to render focused content and temporary controls on top of the main application screen. The library manages the layout and display of these floating views through a custom framework that standardizes the appearance and behavior of pop-up menus. It specifically implements Android popup window functionality to provide contextual options without requiring navigation away from the current page. The f
MJRefresh is a scroll view interaction library and a set of reusable UI components for implementing pull-to-refresh and infinite scrolling behaviors in mobile user interfaces. It provides customizable refresh indicators and controllers that manage reload callbacks and loading states within scrollable containers. The library allows for the replacement of standard loading indicators with custom images, GIF sequences, and status labels to match specific visual branding. It includes a global configuration store to handle dynamic UI localization and the translation of refresh content across an app
WilliamChart is an Android data visualization library and toolkit used to render interactive charts and graphs within Android applications. It functions as a UI component library for integrating data-driven dashboards and metrics into Android layouts. The library includes a specialized component for representing proportional categorical data as donut charts, which are circular charts with hollow centers. It provides a drawing engine that uses low-level APIs to map numerical data to pixel coordinates on the screen.
cardslib is an Android UI component library and card layout framework. It provides a set of specialized adapters and views designed as an extension for high-performance card rendering within recycling lists. The library distinguishes itself through a reorderable list implementation that supports drag-and-drop item rearrangement and nested content hierarchies. It also includes an interaction system for managing directional swipe constraints and a customizable undo action notification bar. The framework covers a broad range of card-based interface capabilities, including the composition of vis
DGElasticPullToRefresh is a Swift pull-to-refresh component for iOS that provides a bouncy, elastic animation effect for scrolling lists. It serves as a specialized table view extension that triggers content updates via a downward swipe gesture. The component uses bezier paths and spring physics to render curved visual elements, simulating a flexible stretching effect during user interaction. This physics-based approach governs the movement and bounce of the interface to create a fluid feel. The system manages gesture-driven states and coordinate transformations to shift the view hierarchy.