11 مستودعات
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 هو مكون قائمة Android ومكتبة امتداد تضيف سلوكيات السحب للتحديث والتمرير اللانهائي إلى RecyclerView قياسي. يعمل كعنصر واجهة مستخدم محمول قابل للتمرير مصمم لإدارة القوائم القائمة على البيانات مع دعم للرؤوس والتذييلات الديناميكية. توفر المكتبة واجهة قائمة على الإيماءات لتشغيل إعادة تحميل المحتوى عبر أداة السحب للتحديث وتطبق آلية لتشغيل استدعاءات جلب البيانات عندما يصل المستخدم إلى أسفل القائمة لتمكين التمرير اللانهائي. تدعم علاوة على ذلك إدارة رأس القائمة الديناميكية وتنفيذ سير عمل التحميل للمزيد لإلحاق محتوى جديد أثناء تمرير المستخدم.
Wraps a RecyclerView in a container to synchronize refresh headers and loading footers.
TwinklingRefreshLayout هو تخطيط سحب للتحديث (Pull-to-refresh) لنظام Android يوفر حاوية قابلة للتمرير لتنفيذ وظائف التحديث والتحميل للمزيد. يعمل كغلاف عرض لمكونات مثل RecyclerView و ScrollView و WebView لضمان سلوكيات تحديث وتحميل متسقة عبر طرق عرض مختلفة قابلة للتمرير. يتميز المشروع بمكون ارتداد عند التمرير الزائد (Overscroll) الذي ينشئ رسوماً متحركة مرنة عند قيام المستخدمين بالتمرير بعد حدود التخطيط. يتضمن نظاماً لمؤشرات تحديث مخصصة، مما يسمح لطرق عرض الرأس والتذييل بتحريك حالاتها البصرية بناءً على تقدم تمرير المستخدم. يغطي التخطيط أيضاً مجموعة من تأثيرات التمرير التفاعلية، بما في ذلك مشغلات السحب للتحميل في أسفل القائمة وتثبيت الرأس للحفاظ على طرق عرض معينة ثابتة أثناء التمرير.
Offers refresh-enabled scroll wrappers for RecyclerView, ScrollView, and WebView to unify loading behaviors.
ScrollTrigger هي مكتبة JavaScript ومدير لأحداث التمرير في DOM مصممة لتنفيذ استدعاءات (callbacks) وتبديل فئات CSS عندما تدخل العناصر إلى إطار عرض المتصفح أو تخرج منه. تعمل كواجهة عالية المستوى لـ Intersection Observer API ونظام لبدء التحولات المرئية والمهام غير المتزامنة بناءً على موقع العنصر بالنسبة لإطار العرض. تسمح الأداة بتحديد نقاط تشغيل دقيقة باستخدام إزاحات البكسل أو النسبة المئوية للتحكم بدقة في وقت إطلاق الأحداث. وتدير الرسوم المتحركة المرئية القائمة على التمرير وعمليات التحميل الكسول (lazy loading) من خلال تتبع عتبات الرؤية. توفر المكتبة قدرات لمراقبة نشاط التمرير، مثل تتبع وقت بدء التمرير أو توقفه أو تغيير اتجاهه. كما تدعم تشغيل أحداث إطار العرض لتشغيل وظائف مخصصة أو وعود (promises) عند عبور العناصر لإحداثيات محددة.
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.