Search packages, repositories and app categories

loadmore cover
Package detailsv2.1.0

loadmore

listview scroll to bottom ,can load more data. help developer paging load data.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
10.3K
Likes
226
Pub points
150

Install package

flutter pub add loadmore

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The loadmore package simplifies implementing infinite scrolling in Flutter apps by detecting when a ListView reaches its bottom and triggering data loading for pagination. It helps developers efficiently manage lazy loading of content, reducing memory usage and improving performance during large dataset rendering. Designed for seamless integration with ListView and other scrollable widgets, it supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. The package is lightweight and easy to use, requiring minimal setup to enable smooth, on-demand data fetching as users scroll.

Use cases

  • Infinite scroll feeds
  • Lazy loading lists
  • Paginated data retrieval
  • Dynamic content loading
  • E-commerce product grids

Key features

  • Automatic scroll detection
  • Easy integration with ListView
  • Supports multiple platforms
  • Minimal boilerplate code
  • Configurable loading indicators

Suitable for

  • Developers building scrollable content
  • Apps with large datasets
  • Pagination-heavy UIs
  • Cross-platform mobile and web apps
  • Efficient data loading implementations

Considerations

  • Requires manual handling of data state
  • Not suitable for fixed-length lists
  • May need custom error handling
  • Depends on external data sources
  • Limited customization for complex scroll behaviors

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

loadmore

pub package GitHub

A loadMore library

Support ListView and SliverList

中文构思思路和使用说明可以看简书

screenshot

img

whole example

show https://github.com/CaiJingLong/flutter_listview_loadmore

install

in pubspec.yaml

dependencies:
  loadmore: ^2.0.1

import in dartfile:

import 'package:loadmore/loadmore.dart';

use in build:

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: Container(
        child: LoadMore(
          isFinish: count >= 60,
          onLoadMore: _loadMore,
          child: ListView.builder(
            itemBuilder: (BuildContext context, int index) {
              return Container(
                child: Text(list[index].toString()),
                height: 40.0,
                alignment: Alignment.center,
              );
            },
            itemCount: count,
          ),
        ),
      ),
    );
  }

  Future<bool> _loadMore() async {
    print("onLoadMore");
    await Future.delayed(Duration(seconds: 0, milliseconds: 100));
    load();
    return true;
  }

properties use:

child: Widget ,required , support ListView ListView.builder ListView.separated, other is not support.
onLoadMore:required A Function , `typedef Future<bool> FutureCallBack();` , reture true is success and status delay,return false or null ,then the status will change to fail.
isFinish: bool, optional, if true, then the status will change to finish ,default is false
delegate: LoadMoreDelegate,optional, see the LoadMoreDelegate class,default is DefaultLoadMoreDelegate
textBuilder: optional, the result will show in loading view ,if you use default delegate. default is DefaultLoadMoreText.chinese,
whenEmptyLoad: bool ,optional, default is true, when [whenEmptyLoad] is true, and when listView children length is 0,or the itemCount is 0,not build loadMoreWidget.
abstract class LoadMoreDelegate {
  const LoadMoreDelegate();

  double widgetHeight(LoadMoreStatus status) => _defaultLoadMoreHeight; // the loadMore height. default is 80.0

  Duration loadMoreDelay() => Duration(milliseconds: _loadMoreDelay);// When widget is created, the refresh delay time is triggered.

  Widget buildChild(LoadMoreStatus status); // build your widget in the loadmore widget.
}

other

homePage: https://github.com/CaiJingLong/flutter_listview_loadmore emailto me : cjl_spy@163.com

LICENSE

APACHE 2.0

Categories

Source repository

Projects using this package

No data available yet.