Introduction

Experience a whole new level of convenience with just a single line of wrapping no complex setup or controller required for effortless infinite scroll loading.

Important

The Scrollable widget (e.g., ListView, GridView) must use a NestedScrollController or a subclass. Using a regular ScrollController will cause the infinite scroll pagination to fail.

Preview

The GIF below demonstrates the package in action. Please note that due to compression, the animation may appear distorted or choppy.

preview

Why Use This Library?

This package eliminates the usual boilerplate of infinite scroll implementations. Simply wrap your scrollable widget with InfiniteScrollPagination, and it just works. Perfect for adding infinite scroll to lists, grids, or any scrollable content without worrying about controllers or extra setup.

Usage

InfiniteScrollPagination(
    reverse: false,
    isEnabled: ...,
    onLoadMore: ...,
    preloadOffset: 500, // Default is zero.
    loadingIndicator: ...,
    child: ListView.builder(
        itemCount: _items.length,
        itemBuilder: (context, index) {
            return Text(_items[index]);
        },
    ),
),