auto_scrolling 0.4.0 copy "auto_scrolling: ^0.4.0" to clipboard
auto_scrolling: ^0.4.0 copied to clipboard

Enables auto scrolling in a scrollable (ListView, GridView, etc.) by using tertiary mouse button (mouse wheel click).

example/lib/main.dart

import 'package:example/samples/multi_directional_scroll.dart';
import 'package:example/samples/single_direction_scroll.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Auto Scroll Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const AppWidget(),
    );
  }
}

class AppWidget extends StatefulWidget {
  const AppWidget({super.key});

  @override
  State<AppWidget> createState() => _AppWidgetState();
}

class _AppWidgetState extends State<AppWidget> {
  final ScrollController controller = ScrollController();
  bool isVertical = true;

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  Widget currentSample = const SingleDirectionScrollSample();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(
          currentSample is SingleDirectionScrollSample
              ? 'Single Direction Scroll'
              : 'Multi Directional Scroll',
        ),
      ),
      drawer: Drawer(
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.zero,
        ),
        child: ListView(
          children: [
            Container(
              height: 100,
              decoration: const BoxDecoration(color: Colors.blue),
              child: const Center(
                child: Text(
                  'Auto scroll examples',
                  style: TextStyle(
                    fontWeight: FontWeight.w500,
                    fontSize: 24,
                    color: Colors.white,
                  ),
                ),
              ),
            ),
            ListTile(
              title: const Text('Single Direction Scroll'),
              onTap: () {
                setState(
                  () => currentSample = const SingleDirectionScrollSample(),
                );
                Navigator.pop(context);
              },
            ),
            ListTile(
              title: const Text('Multi Directional Scroll'),
              onTap: () {
                setState(
                  () => currentSample = const MultiDirectionalScrollSample(),
                );
                Navigator.pop(context);
              },
            ),
          ],
        ),
      ),
      body: currentSample,
    );
  }
}
copied to clipboard
4
likes
160
points
62
downloads

Publisher

verified publisherkeepascent.com

Weekly Downloads

2024.09.14 - 2025.03.29

Enables auto scrolling in a scrollable (ListView, GridView, etc.) by using tertiary mouse button (mouse wheel click).

Homepage
Repository (GitHub)
View/report issues

Topics

#scroll #scrolling #autoscroll #mouse

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on auto_scrolling