Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/jajpa/paging_library
- Owner: jajpa
- License: mit
- Created: 2019-01-20T13:35:24.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-11-19T07:32:20.000Z (about 3 years ago)
- Last Synced: 2023-08-20T22:53:16.111Z (over 1 year ago)
- Topics: dart, flutter-package, listview, paginating, pagination-library, widget
- Language: Dart
- Homepage:
- Size: 1.01 MB
- Stars: 37
- Watchers: 0
- Forks: 7
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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.