11 repository-uri
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 este o componentă de listă Android și o bibliotecă de extensie care adaugă comportamente de pull-to-refresh și infinite scrolling la un RecyclerView standard. Servește drept element UI mobil scrollabil conceput pentru a gestiona liste bazate pe date, cu suport pentru headere și footere dinamice. Biblioteca oferă o interfață bazată pe gesturi pentru declanșarea reîncărcării conținutului printr-un widget pull-to-refresh și implementează un mecanism pentru declanșarea callback-urilor de fetch a datelor atunci când un utilizator ajunge la sfârșitul unei liste pentru a permite infinite scrolling. Suportă, de asemenea, gestionarea dinamică a header-ului listei și implementarea fluxurilor de lucru de tip load-more pentru a adăuga conținut nou pe măsură ce utilizatorul face scroll.
Wraps a RecyclerView in a container to synchronize refresh headers and loading footers.
TwinklingRefreshLayout este un layout de tip pull-to-refresh pentru Android care oferă un container scrollabil pentru implementarea funcționalității de refresh și load-more. Acesta acționează ca un wrapper de view pentru componente precum RecyclerView, ScrollView și WebView pentru a asigura comportamente consistente de refresh și încărcare pe diferite view-uri scrollabile. Proiectul se distinge printr-o componentă de overscroll rebound care creează o animație elastică de bouncing atunci când utilizatorii fac scroll dincolo de limitele layout-ului. Include un sistem pentru indicatori de refresh personalizați, permițând view-urilor de header și footer să își anime stările vizuale pe baza progresului de scroll al utilizatorului. Layout-ul acoperă, de asemenea, o gamă de efecte de scroll interactive, inclusiv declanșatoare de pull-to-load în partea de jos a unei liste și poziționarea fixă a header-ului pentru a menține anumite view-uri staționare în timpul scroll-ului.
Offers refresh-enabled scroll wrappers for RecyclerView, ScrollView, and WebView to unify loading behaviors.
ScrollTrigger is a JavaScript library and DOM scroll event manager designed to execute callbacks and toggle CSS classes when elements enter or exit the browser viewport. It functions as a high-level interface for the Intersection Observer API and a system for initiating visual transitions and asynchronous tasks based on an element's position relative to the viewport. The tool allows for the definition of precise trigger points using pixel or percentage offsets to control exactly when events fire. It manages scroll-driven visual animations and lazy loading implementations by tracking visibilit
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.