ristViewの読み込みの影響かスクロールの最後で振動するような挙動になってしまいます。以下の画像のような状態です。Gifなので伝わりにくいですが、細かく振動するような、引っかかるような挙動です。
現在のウィジェットの構成は以下の通りです。
クロールコンポーネント(例: ScrollViewやListView)で、上下スクロールや横スライドのジェスチャーが競合についても考慮したのですが、なかなか解決に至りません。
参考URL
ristViewの読み込みの影響かスクロールの最後で振動するような挙動になってしまいます。以下の画像のような状態です。Gifなので伝わりにくいですが、細かく振動するような、引っかかるような挙動です。
現在のウィジェットの構成は以下の通りです。
クロールコンポーネント(例: ScrollViewやListView)で、上下スクロールや横スライドのジェスチャーが競合についても考慮したのですが、なかなか解決に至りません。
参考URL
IOSなどででる、多分
FlutterFlowやFlutterのネイティブ挙動では、複数のFirestoreクエリが連続して実行されると、データの更新が頻繁に発生し、スクロール中のリストが再構築されてしまいます。
特に 「2つの異なるコレクションを連続してクエリ」 している場合に起こりやすい現象です。
事例の例
【参考記事】 iOS ListView Jumping
この問題については、
となります。具体的には、
データの取得回数を最適化し、スクロール時の不要なリビルドを防ぐ。
高さ制限を解除することで、スクロール時のジャンプを防ぎ、リストをスムーズに表示させる。
以下は、添付されている親ウィジェットが途中で切れているので、この通りできるか?とか、これが解決するかは、わからないですが、こういう感じで解決するという参考までに。要は、極力ジャンプさせないような構成にするということです。(もうやっているのかもしれませんが、、)
Expanded
ウィジェットを使用する(高さ制約の解除)ListView
を Expanded
でラップすることで、画面の残りのスペースにリストを適応させ、スクロールをスムーズに動作させる。infinity
に設定Container
の高さを無限に設定することで、ご指摘いただいたとおり、クエリの重複が原因のようです。他のウィジェットをすべて削除し、ListViewのみでページを作成してみましたが、やはりスクロール時にジャンピングが発生しました。
正しい方法かは不明ですが、ListViewを含めクエリを読み込んでいるものを全てsingle time queryにすることで問題が解消できました。
ご回答いただき大変参考になりました。ありがとうございます。
おおー、良かったです!!
いい感じで進んでますね。
引き続き頑張っていきましょう^^