grid_scroll.dart 996 B

123456789101112131415161718192021222324252627282930
  1. import 'package:flutter/material.dart';
  2. import 'package:linked_scroll_controller/linked_scroll_controller.dart';
  3. class GridScrollController {
  4. final LinkedScrollControllerGroup _scrollGroupController;
  5. final ScrollController verticalController;
  6. final ScrollController horizontalController;
  7. final List<ScrollController> _linkHorizontalControllers = [];
  8. GridScrollController(
  9. {required LinkedScrollControllerGroup scrollGroupController})
  10. : _scrollGroupController = scrollGroupController,
  11. verticalController = ScrollController(),
  12. horizontalController = scrollGroupController.addAndGet();
  13. ScrollController linkHorizontalController() {
  14. final controller = _scrollGroupController.addAndGet();
  15. _linkHorizontalControllers.add(controller);
  16. return controller;
  17. }
  18. void dispose() {
  19. for (final controller in _linkHorizontalControllers) {
  20. controller.dispose();
  21. }
  22. verticalController.dispose();
  23. horizontalController.dispose();
  24. }
  25. }