Flutter MacOSでListViewのドラッグスクロールを無効にし、マウスホイールのスクロールを維持するにはどうすればよいですか?

ウィジェットクランク

したがって、をに設定physics: const NeverScrollableScrollPhysics()するとListView.builder、マウスホイールのスクロールも無効になります。マウスホイールを維持しながらドラッグを無効にする方法はありますか?

ありがとう

HasilT

Listenerウィジェットを使用してListView、で発生しているドラッグイベントを監視し、それにアタッチされているListViewを使用して、を手動で目的のオフセットまでスクロールできますScrollControllerListView

サンプルコードは次のとおりです。

Listener(
          onPointerSignal: (ps) {
            if (ps is PointerScrollEvent) {
              _controller.animateTo(ps.position.dy,
                  duration: Duration(milliseconds: 500),
                  curve: Curves.linear);
            }
          },
          child: ListView.builder(
              itemCount: 100,
              controller: _controller,
              physics: NeverScrollableScrollPhysics(),
              itemBuilder: (BuildContext context, int index) {
                return Container(
                    height: 100,
                    margin: EdgeInsets.all(10),
                    color: index.isEven ? Colors.blue : Colors.green);
              }))

そして、ここに動作するデモへリンクがあります(スクロールを完璧にするためにリスナーイベントをいじる必要があるかもしれません、これは単なる例です)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ