Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jajpa/paging_library

A Flutter package for paginating a list view
https://github.com/jajpa/paging_library

dart flutter-package listview paginating pagination-library widget

Last synced: about 1 month ago
JSON representation

A Flutter package for paginating a list view

Awesome Lists containing this project

README

        

# paging

A Flutter package for paginating a list view

[![pub package](https://img.shields.io/pub/v/paging.svg?style=popout)](https://pub.dartlang.org/packages/paging)

## Installation

Add this to your package's pubspec.yaml file

```yaml
dependencies:
...
paging: ^latest.version.here
```

## Usage
First import paging.dart

```dart
import 'package:paging/paging.dart';
```
Simple to use. You can pass a type \ as a parameter to the widget, by default dynamic is assumed.

There are two required parameters:
- pageBuilder: requires a Future of List\ and gives you the current size of list
- itemBuilder: requires a widget and gives you the item of type \ to be displayed

```dart

// mocking a network call
Future> pageData(int previousCount) async {
await Future.delayed(Duration(seconds: 0, milliseconds: 2000));
List dummyList = List();
if (previousCount < 30) {
// stop loading after 30 items
for (int i = previousCount; i < previousCount + _COUNT; i++) {
dummyList.add('Item $i');
}
}
return dummyList;
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Pagination List')),
body: Pagination(
pageBuilder: (currentSize) => pageData(currentSize),
itemBuilder: (index, item){
return Container(
color: Colors.yellow,
height: 48,
child: Text(item),
);
},
),
);
}
```

## Screenshots

## Getting Started

This project is a starting point for a Dart
[package](https://flutter.io/developing-packages/),
a library module containing code that can be shared easily across
multiple Flutter or Dart projects.

For help getting started with Flutter, view our
[online documentation](https://flutter.io/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.