みなさん、こんにちは。 id:takkumattsu です。
年末も近づいてきて今年の仕事ももう少しで終わりですね。
タブ切り替え時でもListViewのスクロール位置を保持したい
こんにちは、 id:numanuma08 です 🍛
flutterでタブを含むUIを実装しているとき、タブ中に配置したScrollViewやListViewのスクロール位置がタブを変更したタイミングでリセットされる現象は有名な現象だと思います。少しググるだけで解決策は出てきますが、最もスマートかつflutterが公式に推奨している方法はPageStorageを使う方法です。
実装方法も簡単でScrollViewやListViewのコンストラクターで一意のPageStorageKey
を与えるだけです。この記事ではなぜPageStorageKey
を設定するとスクロール位置が保持されるのかflutterのソースコードを調査して明らかにします。
Flutter の state_notifier と状態遷移
概要
Flutter で StateNotifier を使うときに状態遷移をどのように表現するか、また SnackBar の表示や画面遷移といったステートをマッピングするのではなく一度だけ行う副作用をどのように書くかについて、ダウンロードの進捗を表示するアプリを題材に説明します。
続きを読む