Flutterで水平・垂直自在ScrollView

swiftのSpreadsheetViewみたいに動かしたかった

参考ライブラリ
[SpreadsheetView](https://github.com/bannzai/SpreadsheetView)
[adaptive_scrollbar](https://pub.dev/packages/adaptive_scrollbar/versions)

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

class FreeScroll extends StatefulWidget {
  @override
  _FreeScrollState createState() => _FreeScrollState();
}

class _FreeScrollState extends State<FreeScroll> {
  ScrollController _verController;
  ScrollController _horController;
  final List<String> _list = [
    'djkalshdasjkl',
    'fdgsdgdf',
    'fgfsdsdffgdfg',
    'kfdsljfpojdpro',
    'l.fsd;lfslfsdl',
    'fkjiodjfiwklelw',
    'fkdskfposdpo',
    'fkds;lkfposd',
  ];
  
  @override
  void initState() {
    _verController = ScrollController();
    _horController = ScrollController();
    super.initState();
  }
  
  @override
  void dispose() {
    _verController.dispose();
    _horController.dispose();
    super.dispose();
  }
  
  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      controller: _verController,
      scrollDirection: Axis.vertical,
      child: SingleChildScrollView(
        controller: _horController,
        scrollDirection: Axis.horizontal,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            for(String row in _list ) Text(row),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
            Text('dksajdiasjdsajdiosaduiousdioausiouasidsakdsakdpoaisdpoispodiposaidpoiaspoidposipoaipodiaspooudsioa'),
          ],
        ),
      ),
    );
  }
}