30 open-source projects similar to scwang90/smartrefreshlayout, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best SmartRefreshLayout alternative.
TwinklingRefreshLayout is a pull-to-refresh layout for Android that provides a scrollable container for implementing refresh and load-more functionality. It acts as a view wrapper for components such as RecyclerView, ScrollView, and WebView to ensure consistent refreshing and loading behaviors across different scrollable views. The project distinguishes itself through an overscroll rebound component that creates an elastic bouncing animation when users scroll past layout boundaries. It includes a system for custom refresh indicators, allowing header and footer views to animate their visual st
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
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
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
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-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
BGARefreshLayout-Android is a layout library for Android applications that implements pull-to-refresh and pull-up-to-load-more patterns. It serves as a specialized view container and list loading framework designed to manage loading indicators and status text during data fetching operations. The library distinguishes itself by supporting a customizable view hierarchy that allows for the integration of a dedicated advertisement space at the top of the layout, positioned above the scrollable content. It provides a view holder system that enables the creation of bespoke visual effects and animat
Phoenix is a JavaScript gesture library and mobile-first interaction toolset designed to manage touch events and scroll behaviors in web-based interfaces. Its primary purpose is to provide a pull-to-refresh UI component that triggers data updates when a user pulls down on a mobile or web view. The library focuses on mobile web interaction design, providing themed animations and visual indicators that mimic native mobile app gestures. It enables the implementation of dynamic data refresh workflows through a downward drag interaction. The project covers the interception of scroll events and th
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
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
CoordinatorTabLayout is a custom Android user interface component that integrates tabbed navigation with folding headers and paging container synchronization. Built for the native Android view system, it implements Material Design patterns to create immersive screens where header content collapses as the user scrolls. The component synchronizes tab selection events with a paging container to update visible content. It manages the coordination between a tab navigation bar and a folding header, ensuring that scrolling events and page transitions remain aligned. The layout includes capabilities
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
XPopup is an Android popup UI framework and overlay component library used to build customizable dialogs, bottom sheets, and overlay views. It serves as a dialog engine for creating high-performance popup views and provides a toolkit for executing entrance and exit transitions. The library is distinguished by its ability to render ultra-long, high-resolution images using memory-efficient loading and drag-to-dismiss interactions. It supports displaying overlay views while an application is in the background through system overlay permissions. The framework covers anchor-based positioning for
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
Motion-vue is a declarative animation library for Vue that provides a framework for building fluid, high-performance user interface motion. It enables developers to define complex animation states and transitions using code-based variants and spring-driven physics, ensuring that visual updates remain synchronized with component lifecycles and application state. The library distinguishes itself through a layout projection engine that tracks element coordinates to animate transitions between layout states, and a gesture-driven input pipeline that maps pointer and scroll interactions to animatio
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
GravitySnapHelper is an Android list scrolling controller and RecyclerView snap helper designed to manage scroll velocity and align list items to specific container edges. It functions as a positioning mechanism to ensure elements snap to the viewport boundaries when user interaction stops. The project provides specific support for right-to-left layout directions, ensuring that list items align correctly to screen edges regardless of the device language direction. The tool includes capabilities for regulating scroll movement, such as restricting fling distances using pixel offsets or contain
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
This is an Android shimmer animation library and UI component used to implement shimmering placeholders that mimic layout structures during asynchronous data fetching. It functions as a skeleton screen generator to indicate that content is being fetched and will appear soon. The library provides a shimmer loading animation that applies visual highlight effects to UI components. This allows developers to replace blank screens with animated skeletons to improve the perceived performance of the user interface.
React Native Gesture Handler is a declarative library that exposes the platform's native touch and gesture system to React Native, enabling smooth, deterministic gesture handling on the UI thread. It manages gesture recognition through a native state machine with defined transitions between states like BEGAN, ACTIVE, END, and CANCELLED, routing touch events through platform-native gesture recognizers on both iOS and Android. The library provides a comprehensive gesture composition framework that allows developers to combine multiple gestures into race, simultaneous, or exclusive sequences, co
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 jQuery plugin that replaces native browser scrollbars with themed, customizable versions supporting both vertical and horizontal axes. It provides a navigation layer designed to ensure unified scrolling behavior across mouse, keyboard, and touch-enabled devices. The plugin allows for the modification of scrollbar rails and draggers using CSS and pre-set themes to maintain cross-browser UI consistency. It enables control over the physical feel of navigation through adjustable momentum, snapping, and mouse-wheel acceleration. The system includes capabilities for programmatic
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
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
Scroller is a JavaScript library for implementing pan-and-zoom interactions on HTML elements and Canvas rendering surfaces. It functions as a viewport state manager and kinetic scrolling engine that translates touch and mouse pointer events into scaled offsets for fluid navigation. The library features a kinetic motion system that simulates deceleration and edge bouncing. It includes specific mechanisms for pull-to-refresh triggers and supports point-relative zoom scaling to keep the focal point centered on the user's cursor. The system provides a range of movement controls, including axis-l
This is the comprehensive documentation website for the Vue 2 progressive JavaScript framework. It serves as a technical reference and development guide for building reactive user interfaces and single-page applications. The site provides a detailed JavaScript API reference and a web component directory. It covers the implementation of component-based architectures, reactive state management, and the use of a virtual DOM to synchronize application state with the browser. The documentation details capabilities including client-side routing, declarative DOM manipulation, and frontend build opt
MaterialDesignLibrary is an Android Material Design UI library and cross-version framework. It provides a collection of pre-built interface controls and a compatibility layer that enables modern design patterns on older Android devices starting from version 2.2. The project focuses on bringing updated design standards to legacy Android versions to ensure a consistent user experience. This is achieved through a compatibility layer that implements modern interface elements without sacrificing visual quality on outdated operating system releases. The library includes a variety of functional com
Material-motion-swift is a Swift animation toolkit and gesture interaction library for building responsive motion, physics-based interface transitions, and direct multitouch manipulation on mobile devices. The framework executes continuous view transitions, asymmetric transformations, and outward masks following standard design guidelines. The library constructs reactive animation networks by binding input streams to layer properties through explicit relationships, while delegating rendering and interpolation to underlying graphics hardware. It translates live touch coordinates into direct m
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.
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.