30 open-source projects similar to codermjlee/mjrefresh, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best MJRefresh alternative.
mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh and pull-up-loading patterns. It provides a system for handling touch-based scrolling, managing pagination states, and integrating these behaviors within Vue applications. The library distinguishes itself through specialized support for chat interfaces, enabling reverse-order data loading and the ability to inject data in a reverse direction to simulate message histories. It also includes a state-persistent scroll cache to preserve vertical offsets and list data when users navi
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
Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver API to trigger step-based callbacks and animations as the user scrolls through a page. It pins graphic elements using CSS sticky positioning while scrolling through associated text steps, enabling side-by-side narrative experiences without JavaScript-driven layout calculations. The library provides a configurable offset threshold system that accepts a single global offset or per-element data-attribute offsets to define the viewport position that triggers step events. It reports
This project is a React data table component integrated with shadcn/ui. It provides a set of tabular data grids that support sorting, filtering, and pagination. The implementation includes a virtualizing data grid and an infinite scroll table, which allow for the rendering of large datasets by loading records incrementally or displaying only the items visible in the viewport. It also functions as a real-time collaborative table, enabling multiple users to manage and edit shared datasets simultaneously. The component covers interactive data management and complex data visualization. This incl
SVPullToRefresh is a library for adding pull-to-refresh and infinite scrolling behaviors to UIKit scroll views on the iOS platform. It provides specialized user interface components that enable manual content refreshing and pagination within scrollable views. The library implements mechanisms to trigger data loading actions when a user pulls a scroll view from the top or reaches the bottom of a scrollable area. These triggers allow for syncing the latest information or appending more content to create continuous feeds.
Legend List is a high-performance list rendering library designed to display massive collections of data with varying item heights. It utilizes windowed virtualization and a measured-height cache to render only the visible portion of a list, preventing lag and maintaining a smooth frame rate. The library specializes in bidirectional infinite scrolling and stable scroll anchoring, which prevents visual jumps when content is prepended to the top of a list. It includes specific alignment capabilities to keep content pinned to the bottom, supporting the layout requirements of chat interfaces. To
Better-scroll is a JavaScript scroll library and touch interaction engine designed to create high-performance scrollable areas in web browsers. It functions as a modular UI component framework that provides the foundation for building complex scrollable elements. The library is distinguished by a plugin-based architecture that allows the injection of custom methods and event hooks. This system enables the creation of specialized interface components such as carousel sliders, scrollable picker inputs, and draggable element systems. The project covers a wide range of mobile web interaction pat
Waypoints is a JavaScript library designed for monitoring scroll positions and managing viewport-based triggers. It provides utilities to execute functions when page elements enter or exit the visible browser area, track specific scroll offsets, and implement sticky element pinning. The library includes specialized tools for building infinite scrolling interfaces that fetch and append content to replace traditional pagination. It also manages the positioning of elements that transition to a fixed screen location once a specific scroll threshold is reached. The system covers broader capabilit
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
Phoenix is a pull-to-refresh UI component and JavaScript gesture library designed for mobile and web views. It provides a reusable interaction pattern that triggers data updates when a user drags the screen downwards. The project features customizable visual indicators and themed animations that react to the state of the pull operation. It includes mechanisms for manual state coordination, allowing external controllers to programmatically trigger or cancel refresh sequences independently of user input. To ensure a smooth user experience, the library integrates with mobile-first views by inte
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
Flukit is a suite of functional toolkits for Flutter, providing animation wrappers, layout debugging tools, scroll interaction kits, and a library of reusable UI components and visual utilities. The project distinguishes itself through a dedicated layout debugging tool for inspecting parent constraints and capturing system logs directly within the interface. It also provides specialized animation wrappers for rotating, scaling, and sliding child components and a scroll interaction kit that includes pull-to-refresh mechanisms, carousel swipers, and flexible sliver headers. The library covers
headroom.js is a client-side JavaScript header visibility controller and DOM manipulator. It functions as a scroll-based UI component that hides page headers during downward scrolls and reveals them during upward scrolls to maximize available viewport space. The tool manages dynamic header visibility by monitoring real-time browser scroll events. It optimizes the vertical viewing area of responsive web layouts by toggling the visibility of navigation bars based on the user's scroll direction. The system operates through scroll-position tracking and delta-based state switching to determine mo
DiscreteScrollView is a UI component and animation library for React Native designed to create centered scroll views and infinite scroll lists. It provides a mechanism to keep the active selection centered within the viewport while maintaining the visibility of adjacent items. The library enables the implementation of infinite carousels by looping through data sets without boundaries. It allows for the application of visual transformations to items based on their real-time scroll position relative to the center of the view. The toolset includes capabilities for monitoring selection states an
UltimateRecyclerView is an advanced list component for Android that provides built-in support for animations, sticky headers, and pull-to-refresh. It functions as a specialized set of UI elements designed to handle draggable, expandable, infinite-scrolling, and swipeable list interfaces. The project includes a draggable list manager for reordering items through drag-and-drop interactions and an expandable list component for toggling additional item details. It implements a swipe-to-dismiss interface for item removal and a list controller that enables infinite scroll pagination by triggering d
CBStoreHouseRefreshControl is a collection of UI elements and tools for creating customizable, coordinate-mapped loading animations and gesture-driven refresh indicators for iOS applications. It provides a pull-to-refresh component that triggers content updates via a pull-down gesture on scrollable views. The library distinguishes itself through configuration-driven visual styling and coordinate-based path definitions, allowing animation trajectories and shapes to be defined in external files rather than through hard-coded values. It incorporates randomized animation offsets to introduce visu
mui is a mobile UI component framework and native-like web UI kit designed for building high-performance mobile web interfaces. It functions as a mobile web performance framework and gesture-based interface library to eliminate browser lag and mimic the behaviors and animations of native mobile applications. The framework focuses on implementing common mobile UX patterns, including pull-to-refresh functionality, swipe-to-action menus, and sliding side navigation. It provides specialized tools for gesture-driven interface development to ensure an immediate visual response to touch interactions
fluttereasyrefresh is a library for implementing pull-to-refresh and infinite scroll pagination within Flutter list components. It provides the functional components and logic required to trigger data reloads via pull-down gestures and fetch additional data chunks through pull-up triggers. The project features a decoupled indicator architecture that allows for customizable visual styles, themed animations, and flexible positioning of headers and footers. It includes a centralized controller that enables the programmatic management of refresh and loading states independently of user gestures
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
This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web interfaces. It centers on a component-based architecture that maps application state to rendered elements, utilizing a twelve-point flexbox grid system and nested containers to manage complex layouts. The library ensures consistent behavior across large-scale applications by providing centralized configuration for component defaults, themes, and global design tokens. What distinguishes this framework is its deep integration of Material Design principles alongside a highly flexib
Taiga UI is an Angular UI component library and accessible design system used for building enterprise web interfaces. It provides a comprehensive collection of reusable interface elements and layout tools, functioning as a mobile-first UI kit with responsive components that adapt to different device capabilities. The library distinguishes itself through an integrated data visualization library featuring various chart types and a dedicated form management framework with built-in validation and formatting for specialized data. It also features AI-driven development workflows by integrating comp
Android-PullToRefresh is an Android view component and library designed to implement pull-to-refresh functionality and end-of-list detection for scrollable views within Android applications. It acts as a custom view that manages the animations and listener triggers necessary to update content via user interaction. The library provides mechanisms for triggering refresh actions when a user pulls from the boundaries of a scrollable view and detecting when a user reaches the bottom of a list to facilitate data pagination. It allows for the customization of the refresh indicator's visual theme and
Infinite Scroll is a JavaScript library that automatically loads and appends the next page of content when a user scrolls near the bottom of a container, or optionally when they click a button. It provides scroll-based pagination that fetches and inserts subsequent pages of content, with URL-driven content loading that determines next page URLs from selectors, templates, or custom functions. The library integrates with browser history, updating the URL and history state as new pages load while preserving scroll position so each page state is bookmarkable and refreshable. It is compatible with
FastDev4Android is an all-in-one development framework for building Android applications. It accelerates app creation by integrating networking, data parsing, dependency injection, image loading, and UI components into a single workflow, bundling these capabilities to speed up mobile app development. The framework provides annotation-driven dependency injection that automatically wires components, views, event handlers, and threading into Android components at compile time. It implements the Model-View-Presenter (MVP) pattern to separate data, UI, and business logic into distinct layers for i
AMScrollingNavbar is a Swift UI component and controller designed to synchronize the movement of a UINavigationBar with the scroll position of a UIScrollView. It acts as a navigation bar behavior modifier that allows the navigation bar to hide or reveal itself dynamically based on user scroll interactions. The project provides a mechanism to coordinate the movement of multiple interface elements, enabling supplementary views such as toolbars or tab bars to slide in synchronization with the navigation bar. It utilizes offset-based translation and customizable scroll speeds to control how quick
InfiniteCycleViewPager is an Android user interface component that enables continuous scrolling through a set of items without a defined start or end. It functions as an infinite loop UI component and carousel that supports both horizontal and vertical orientations. The library provides a custom page transition system that creates visual depth by scaling and offsetting pages as they move toward the center view. It also includes an auto-scrolling mechanism that rotates through content based on a specified time interval. The project implements these behaviors by simulating a virtual index loop
react-waypoint is a set of React components and wrappers designed to execute callbacks when specific DOM elements enter or exit the visible screen area. It functions as a viewport visibility tracker that monitors when elements cross predefined spatial boundaries. The project provides a scroll trigger component and event wrapper that allow for custom offset configurations to account for fixed UI elements. These tools can be configured to use a specific DOM node or the global window as the scrollable ancestor for visibility calculations. The library covers several implementation patterns, incl
React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to handle auto-scroll, sticky headers, and bidirectional loading. The library distinguishes itself with specialized components fo
ScrollMagic is a DOM scroll interaction framework and animation engine used to map scroll progress to callbacks and visual effects. It functions as a library for triggering animations based on a user's scroll position and the proximity of elements to the viewport. The framework employs a plugin-based system to extend core behavior and customize how elements react during movement. This allows for the development of non-standard scrolling interactions and interactive storytelling experiences where content transitions are tied to the scroll position. The system provides capabilities for viewpor
This project is a mobile-first web interface built with Vue 3 that replicates the layout and interaction patterns of a short-form video platform. It is designed as a responsive web application focused on high-performance mobile rendering and short-video workflows. The application features a vertical video carousel with infinite scrolling and a vertical-slide view orchestration system for seamless content playback. It employs a responsive layout using viewport-relative units to ensure consistent rendering across various mobile screen sizes and aspect ratios. The project incorporates Pinia for