flutter_pagination_plus 0.0.3 copy "flutter_pagination_plus: ^0.0.3" to clipboard
flutter_pagination_plus: ^0.0.3 copied to clipboard

A lightweight Flutter library for **Infinite Scroll** and **Load More** implementations. Perfect for lists, grids, or any scrollable content.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_pagination_plus/flutter_pagination_plus.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Pagination Plus',
      theme: ThemeData(useMaterial3: false),
      home: MyHomePage(title: 'Flutter Pagination Plus'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<User> _userList = [];

  Future<List<User>> _generateList() async {
    List<User> list = [];
    for (int i = 0; i < 20; i++) {
      list.add(User());
    }
    await Future.delayed(Duration(seconds: 2));
    return list;
  }

  @override
  void initState() {
    super.initState();
    () async {
      _userList = (await _generateList());
      setState(() {});
    }.call();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: FlutterPaginationPlus<User>(
        list: _userList,
        onChangeNextPage: () async {
          _userList.addAll(await _generateList());
        },
        padding: EdgeInsets.symmetric(horizontal: 12),
        paginationType: PaginationType.infiniteScroll,
        itemBuilder: (ctx, index) {
          return Container(
            margin: EdgeInsets.symmetric(vertical: 8),
            child: ListTile(
              tileColor: Colors.teal,
              title: Text("${_userList[index]} $index/${_userList.length}"),
              trailing: CloseButton(
                onPressed: () {
                  setState(() => _userList.removeAt(index));
                },
              ),
            ),
          );
        },
      ),
    );
  }
}

class User {
  final String? name;
  final int? roll;
  User({this.name, this.roll});
}
0
likes
140
points
27
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight Flutter library for **Infinite Scroll** and **Load More** implementations. Perfect for lists, grids, or any scrollable content.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_pagination_plus