本記事では、SliverAppBar widgetの基本的な使い方とサンプルコード、関連記事を紹介します。
Flutterの公式動画の「Widget of the Week」をベースに日本語で説明しています。
本記事を読むメリット
- SliverAppBarの基本的な使い方や考え方がわかる
- SliverAppBarのサンプルコードを確認できる
- 関連記事をトピック毎にまとめて確認できる
SliverAppBarの基本的な使い方
要約
- SliverAppBarはスクロールすると見た目が変わるアニメーションヘッダー
- 最初はimageの画像をヘッダーとして表示して、スクロールにより幅が狭くなると文字にする、のような表現が可能になる
説明
SliverAppBarを使えば、下のイメージのようなアニメーションヘッダーを作ることができます。
SliverAppBarはCustomScrollViewのchildrenのひとつとして利用することで、AppBarのスクロールの動きをカスタマイズすることができます。
sliverはスクロール機能を実現するためのwidgetです。
sliverは、スクロール可能な領域の実装を細かく制御するためのベースレベルのインタフェースで、例えば、SliverAppBarであれば、どんなwidgetでもSliverAppBarのchildに渡すだけで、スクロールできるAppBarとして表示することができるようになります。
flexibleSpaceパラメータとextendedHeightパラメータを指定することで、フルサイズに拡大されたときのAppBarの高さと見た目を指定することができます。
もしアプリがスクロールダウンされているときにも、AppBarを表示させたい場合は、floatingパラメーターにtrueを指定してください。
動画
サンプルコード
・SliverAppBar、SliverGridのサンプルコード(詳細な解説付き)
SliverAppBar | Flutter Doc JP
・SliverAppBarで画像を固定するパターン
[Flutter]スクロールしても画像が上部に固定して残るようにしたい
関連記事
・SliverAppBarとTabBarの組み合わせ サンプルコード
【Flutter】SliverAppBarとTabBarを組み合わせたときに各タブのスクロール位置を保持したい
・SilverStickyHeader(下のgifのようなヘッダーが作れるライブラリ)
flutter_sticky_header | Flutter Package – Dart Pub
・Flutter 公式ドキュメント
SliverAppBar class – widgets library – Dart API – Flutter
・関連書籍
Flutterの基本的な仕組みや周辺知識(テストやCIなど)を網羅的に学べる入門書
Flutter モバイルアプリ開発バイブル
・その他のwidgetについてはこちら
カテゴリ-Flutter
こちらのプログラミング書籍もおすすめ
(若手プログラマー向け、コーディングのレベルが1段階アップ!)
- 特定の言語に限らず、プログラミング初心者で理論から学びたい方におすすめ
- プログラムに不具合が発生する仕組みや原理を理解できます。
- その結果、不具合に強いコードが理解でき、書けるようになります。
- 既存動作を担保しつつ、ソースをリファクタするための方法論を知ることができます。
- テーマはテストですが、コーディングのレベルアップにも大きく役立ちます。
Head First Java 第2版 ―頭とからだで覚えるJavaの基本
- Javaなどのオブジェクト指向プログラミングの初心者におすすめ
- 初心者が躓きやすいポイントをわかりやすく解説(インターフェース、オブジェクト指向、ポリモーフィズムなど)
- コードをシンプルに保つことができるようになる
- ポリモーフィズムを利用した、拡張しやすいプログラムをつくることができるようになる。