概要
Flutterでリストがあるアプリを開発する時、時々SingleChildScrollView
ウィジェットを使います。この時、引っ張って更新(Pull to refresh)
のような特定機能を使うため、チャイルドウィジェットのサイズと関係なくいつもスクロールができるようにする必要がある場合があります。
今回のブログポストではSingleChildScrollView
ウィジェットでチャイルドウィジェットのサイズと関係なくスクロールできるようにする方法について説明します。
AlwaysScrollableScrollPhysics
SingleChildScrollView
ウィジェットはphysics
オプションを持っています。
- SingleChildScrollView: https://api.flutter.dev/flutter/widgets/SingleChildScrollView/physics.html
このオプションを使うと、チャイルドウィジェットと関係なくスクロールの動作をコントロールすることができます。このオプションに次のようにAlwaysScrollableScrollPhysics
を使うとチャイルドウィジェットのサイズと関係なくいつもスクロールができるようにすることができます。
SingleChildScrollView(
physics: const AlwaysScrollableScrollPhysics(),
child: ...,
),
SingleChildScrollView
ウィジェット以外にもListView
ウィジェットようにスクロールができるウィジェットは大体physics
オプションを持っています。
したがって、スクロールの動作を変更する必要がある場合、physics
オプションを調べると助かると思います。
完了
これでSingleChildScrollView
ウィジェットでチャイルドウィジェットのサイズと関係なくいつもスクロールできるようにするためphysics
オプションにAlwaysScrollableScrollPhysics
を設定する方法についてみてみました。このオプションを使うと引っ張って更新
機能を実装することができます。引っ張って更新
の実装が気になる方は以前のブログポストを参考してください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。