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.
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
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
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
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
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
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
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
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.
Android-Bootstrap is a framework for Android application design that implements the Bootstrap design language and layout principles. It consists of a UI component library, a brand theme engine, and an icon integration toolkit to build mobile interfaces with a consistent visual theme. The framework utilizes a customizable interface to define global visual styles, colors, and typography across all application components. It includes a specialized system for mapping typeface files and unicode characters to scalable graphics within the interface. The project provides a collection of styled widge
use-gesture is a JavaScript gesture manager and interaction tool designed to detect and process user input patterns. It functions as a React gesture hook library and a general utility for tracking screen coordinates and movement patterns to drive interactive component behaviors. The library specializes in capturing complex mouse and touch interactions, including dragging, pinching, swiping, and scrolling. It provides a system for implementing drag and drop functionality and pinch-to-zoom interactions. The tool covers the development of interactive UI components by normalizing diverse input e
AndroidPicker is a collection of customizable UI selection interfaces for Android applications. The library provides specialized components for selecting geographic addresses, calendar dates, clock times, local files, and numeric values. The library features a wheel-based input mechanism for choosing measurements and a hierarchical selection system for mapping provinces, cities, and districts. It includes cascading selection logic where choices in one picker dynamically filter available options in subsequent levels. The capability surface covers date and time picking through grid views, loca
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
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
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 project is a community-driven directory of open-source Android libraries focused on user interface development. It serves as a centralized knowledge base that organizes high-quality third-party tools into a structured, categorical taxonomy to assist developers in discovering reliable solutions for mobile application design. The repository distinguishes itself by providing a version-agnostic index that links directly to external project resources, bypassing the need for complex dependency management. To facilitate rapid evaluation, each entry is paired with visual asset indexing, includin
This project is a curated collection of Android development code snippets, implementation patterns, and technical guides designed to assist in building and maintaining mobile applications. It serves as a reference for standard mobile architecture, providing structured approaches to common development requirements and system integration tasks. The repository distinguishes itself by offering specific technical strategies for managing application lifecycles, optimizing memory usage, and ensuring interface responsiveness in resource-constrained environments. It provides programmatic techniques fo
uCrop is an Android library designed for cropping, rotating, and scaling images within mobile applications. It provides a reusable interface component that allows users to manipulate photos through touch gestures, enabling precise control over visual composition and aspect ratios. The library distinguishes itself by offering extensive customization of the editing interface, allowing developers to adjust colors, frame shapes, and widget visibility to align with specific application design languages. It handles image processing tasks by managing quality, compression formats, and output dimensio
QMUI_Android is a comprehensive design system framework and UI component library for Android applications. It provides a collection of reusable interface building blocks and styling tools designed to help developers maintain a unified visual language across mobile screens. The project distinguishes itself through an attribute-driven theme system that centralizes visual properties into a global configuration object, allowing styling changes to propagate across all components at runtime. By utilizing custom view inheritance and dynamic attribute resolution, the library ensures that interface el
MaterialDrawer is a navigation drawer library and side menu framework for Android applications. It provides a Material Design UI component that implements a sliding side menu to manage user movement between different sections of a mobile application. The framework supports the organization of complex navigation lists, including the use of expandable sections, sticky headers, and badges. It includes tools for building personalized interfaces, such as user profile displays and headers. The library handles navigation through item management, event handling via listeners, and state-driven UI upd
Android-Expert is a collection of educational resources and step-by-step instructional materials for learning Android app programming. It provides a comprehensive learning path for building mobile applications using the Kotlin programming language and Android Studio. The material covers the full development lifecycle, from designing interactive user interfaces with lists, cards, and sliders to implementing navigation workflows and screen transitions. It also includes instruction on connecting applications to remote servers to fetch external data and integrating that data into the app flow. T
AndroidSwipeLayout is an Android UI library and custom view framework that enables the creation of layouts that reveal hidden action buttons when a user performs a swipe gesture. It functions as a gesture-based UI component that triggers callbacks based on the real-time position of the swipe. The framework is designed to support complex interaction patterns, specifically allowing for the nesting of multiple swipeable components within one another. The library covers mobile gesture interaction and custom view orchestration, providing tools to track swipe states and synchronize UI changes duri
BrowserSync is a web development synchronization tool and live reload server. It functions as a local static web server, a reverse proxy server for existing sites, and a browser testing orchestrator that coordinates page state across different browsers and physical devices. The tool is distinguished by its ability to mirror user interactions, such as clicks, scrolls, and form inputs, in real time across all connected devices. It also provides a web-based device control interface and the capability to create public URL tunnels for remote testing of local sites. The system covers a broad range
markdown-preview.nvim is a real-time browser-based previewer for Markdown files written within the Neovim text editor. It functions as a live Markdown renderer that converts source text into HTML and provides a synchronized scroll interface to coordinate the editor and the browser preview window. The tool allows for visual customization through a Markdown CSS customizer, enabling the application of custom stylesheets to the rendered documents. It also supports the embedding of local image assets and the rendering of technical diagrams, charts, and mathematical formulas. The system manages th
RKNotificationHub is a customizable badge UI library and a reusable SwiftUI notification badge component. It provides a view modifier and wrapper designed to attach numeric or dot notification indicators to any user interface element within a mobile application. The library enables the management of notification badge displays, including the ability to customize colors, frame positions, and scales relative to parent views. It includes a system for badge count management to update activity indicators through incrementing, decrementing, or explicitly setting the count. The project covers the b
ComposeCookBook is a Jetpack Compose UI component library and layout reference. It serves as a collection of declarative interface elements, reusable widgets, and structural mockups for organizing content within the Jetpack Compose framework. The project functions as an Android UI design gallery and animation showcase. It provides a library of visual transitions and interactive state changes, alongside full-page layout examples and demo screens that demonstrate visual patterns for Android applications. The repository covers broader capabilities including Android layout prototyping, UI testin
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.
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