flutter_lazy_loader 1.0.1 copy "flutter_lazy_loader: ^1.0.1" to clipboard
flutter_lazy_loader: ^1.0.1 copied to clipboard

outdated

A lazily loaded list for flutter.

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Lazy loading list demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: FlutterLazyLoaderExample(),
    );
  }
}

class FlutterLazyLoaderExample extends StatefulWidget {
  FlutterLazyLoaderExample({Key? key}) : super(key: key);

  final List<int> list = List.generate(100, (index) => index);

  @override
  State<FlutterLazyLoaderExample> createState() => _FlutterLazyLoaderExampleState();
}

class _FlutterLazyLoaderExampleState extends State<FlutterLazyLoaderExample> {
  int _lastIndex = 0;

  Future<List<int>> _dataloader() {
    var newListItems =
        widget.list.getRange(_lastIndex, _lastIndex + 5).toList();
    _lastIndex += 5;

    return Future.delayed(const Duration(seconds: 1))
        .then((value) => newListItems);
  }

  Widget _listTile(int data) {
    return ListTile(
      leading: Text(data.toString()),
      title: Text("A list tile from data $data"),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("List example"),
      ),
      body: Center(
        child: FlutterLazyLoader<int>(
          dataLoader: _dataloader,
          listTile: _listTile,
        ),
      ),
    );
  }
}
3
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A lazily loaded list for flutter.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_lazy_loader