11 dépôts
Mechanisms that provide real-time callbacks as a view is scrolled to execute reactive logic.
Distinct from Scroll Restoration: Focuses on general observation and callbacks during scrolling, distinct from restoring scroll state after navigation.
Explore 11 awesome GitHub repositories matching user interface & experience · Scroll Observers. Refine with filters or upvote what's useful.
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
Wraps scrollable views to add interactive refresh headers and loading footers with synchronized scrolling.
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.
Implements a mechanism providing callbacks during view scrolling to execute logic in response to user interaction.
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
Manages scrollable views inside the panel so that content scrolls only after full panel expansion.
CalendarView is a high-performance Android UI component designed for displaying dates and navigating chronological views. It functions as a canvas-based widget that utilizes direct drawing instead of standard list views to minimize memory usage and ensure fast rendering of complex date interfaces. The component provides a programmable interface for switching between month, week, year, and lunar views. It differentiates itself through a pluggable customization system that allows developers to override the drawing logic for dates, text, event markers, and selection layouts. The library support
Integrates with the Android nested scrolling framework to allow the calendar to reside within scrollable containers.
Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth
Builds complex scrolling screens in Android with multiple item types, grid layouts, and nested carousels using a declarative model-based approach.
MaterialViewPager is a library that creates a scrollable, swipeable interface with an animated header image, toolbar, and logo following Material Design guidelines. It provides a complete implementation of a Material Design ViewPager, where the header background color and image animate as the user swipes between pages. The library coordinates scroll-driven header animations by synchronising scroll offsets from the ViewPager and attached scrollable views through a central coordinator. It supports fragment-based page composition, allowing each page to have independent content layouts while shar
Links a ScrollView's scroll to update the ViewPager's header and toolbar.
elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a webpage. When clicked, it smoothly animates the page back to the top while playing a looping elevator music track in the background, masking the transition and adding a whimsical touch to the user experience. The library goes beyond a simple scroll-to-top button by offering configurable scroll duration, the ability to scroll to any specified DOM element with optional vertical padding, and callback hooks that fire user-defined functions at the start and end of the animation. This allo
Executes custom functions when the scroll starts and when it reaches the destination.
XRecyclerView est un composant de liste Android et une bibliothèque d'extension qui ajoute des comportements de « pull-to-refresh » et de défilement infini à un RecyclerView standard. Il sert d'élément UI mobile défilant conçu pour gérer des listes pilotées par les données avec prise en charge d'en-têtes et de pieds de page dynamiques. La bibliothèque fournit une interface basée sur les gestes pour déclencher le rechargement du contenu via un widget « pull-to-refresh » et implémente un mécanisme pour déclencher des rappels de récupération de données lorsqu'un utilisateur atteint le bas d'une liste pour permettre le défilement infini. Elle prend en outre en charge la gestion dynamique des en-têtes de liste et l'implémentation de flux de travail de chargement supplémentaire pour ajouter du nouveau contenu au fur et à mesure que l'utilisateur fait défiler.
Wraps a RecyclerView in a container to synchronize refresh headers and loading footers.
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
Offers refresh-enabled scroll wrappers for RecyclerView, ScrollView, and WebView to unify loading behaviors.
ScrollTrigger est une bibliothèque JavaScript et un gestionnaire d'événements de défilement DOM conçu pour exécuter des callbacks et basculer des classes CSS lorsque des éléments entrent ou sortent de la fenêtre d'affichage (viewport) du navigateur. Il fonctionne comme une interface de haut niveau pour l'API Intersection Observer et un système pour initier des transitions visuelles et des tâches asynchrones basées sur la position d'un élément par rapport au viewport. L'outil permet de définir des points de déclenchement précis en utilisant des offsets en pixels ou en pourcentage pour contrôler exactement quand les événements se déclenchent. Il gère les animations visuelles basées sur le défilement et les implémentations de chargement différé (lazy loading) en suivant les seuils de visibilité. La bibliothèque fournit des capacités de surveillance de l'activité de défilement, comme le suivi du début, de l'arrêt ou du changement de direction du défilement. Elle prend également en charge le déclenchement d'événements de viewport pour exécuter des fonctions personnalisées ou des promesses lorsque les éléments franchissent des coordonnées spécifiques.
Provides observers to track scroll start, stop, and direction changes for reactive UI logic.
This project is a frontend component designed to manage dynamic content loading and scroll-based interactions within web applications. It provides a reusable interface for handling data injection as users navigate through scrollable areas, ensuring that content updates occur automatically based on scroll position or manual user triggers. The component distinguishes itself by supporting both standard downward infinite scrolling and inverse scrolling, which allows for the natural expansion of content history in chat-like interfaces. It offers developers full control over the visual presentation
Supports inverse scrolling to load older content at the top, enabling natural history expansion in chat-like interfaces.