A Flutter package that builds ListView or CustomScrollView and notifies when widgets are visible within a defined viewport area.
Inview Notifier List is a Flutter package that provides scrollable list widgets with built-in visibility detection. It allows developers to track when child widgets enter or exit a specified viewport area, enabling dynamic UI updates based on scroll position. The package solves the problem of efficiently managing content that needs to respond to visibility changes, such as auto-playing videos or updating real-time data only for visible items.
Flutter developers building scrollable interfaces that require visibility-aware behavior, such as social media feeds, video players, or dynamic content lists.
Developers choose this package because it offers a simple, integrated solution for visibility detection within scrollable lists without requiring manual scroll controller management. Its customizable condition function and support for both ListView and CustomScrollView make it flexible for various use cases.
A Flutter package that builds a list view and notifies when the widgets are on screen.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The customizable `isInViewPortCondition` function allows precise control over when widgets are considered in view, such as defining thresholds based on viewport percentage, as shown in the basic usage example.
Supports both ListView and CustomScrollView implementations, enabling integration with complex scrolling layouts, demonstrated in the example GIF for Custom Scroll View.
Includes throttling via `throttleDuration` to reduce scroll event frequency, improving performance in scroll-heavy apps, as noted in the properties section.
Enables dynamic content changes, like auto-playing videos, based on widget visibility, with examples provided in the README GIFs for use cases.
Each widget requires a unique string ID, increasing boilerplate and risk of duplicates in dynamic lists, which the README mandates for `InViewNotifierWidget`.
The `isInViewPortCondition` requires understanding of deltaTop, deltaBottom, and viewPortDimension parameters, which can be confusing without prior experience, as illustrated in the diagram and explanation.
Only supports ListView and CustomScrollView, not other Flutter scrollables like GridView or PageView, limiting its applicability for diverse layouts.