この記事って?
作成中のオンラインビンゴゲーム副産物であるリール部分のWidgetの紹介。
CodePenの埋込み練習も兼ねて投稿。
アニメーションを一から作るのは現実的では無いので、ListViewを使って実装しています。
See the Pen Untitled by Yomoyama Dev68 (@yomoyama-dev68) on CodePen.
気づきメモ
- EdgeFadeを有効にするには、Androidと違いListViewに設定するのではなく、ShaderMaskをListViewの親にしてFade設定する。
- ListViewのScrollアニメーションはどのItemを表示するかという指定はできない。
コンテンツの上端からの座標(pixel)を指定のみ。 - ScrollEndNotificationはアニメーションの完了だけでなくjumpToでもonNotificationが呼ばれる。
- Widgetのサイズ変更は、SchedulerBinding.instance.addPostFrameCallbackのコールバック内で検知できる。
- Widgetのメンバ変数の変化は、didUpdateWidgetでチェックできる。
- build処理中は、setStateを呼ぶと例外が発生する。ScrollControllerのスクロール処理も同じ。