grid_scroll.dart 989 B

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