micomia株式会社の畑井です。
今回は投稿表示画面やユーザー一覧画面を作成する際に欠かせないListViewというWidgetについて解説していきます。
1.ListViewのスクロールについて

ListViewは画像のように利用します。
今回はColumnの下に入れています。
このような使い方をする場合はスクロールできないという問題が発生しがちですので下の画像のように設定してみてください。


Columnの下にListViewを入れる場合はまずはColumnをScrollableにしてください。

そしてListViewのPrimaryをOFFにしてください。
PrimaryをONにするとColumnもスクロールでPrimaryになっているため両方ともスクロールが優先されてしまいうまくスクロールができません。
2.ListViewにデータをセットする方法

ListViewにデータをセットする方法を説明していきます。
データベースはFirebaseのFirestoreを利用しています。

Query Collectionで今回はusersをセットします。
Filterで表示する内容を絞ったり、Orderingで並び替えたりすることができます。
「Confirm」を押してください。

このように表示されますが、「Confirm」を押してください。

このように薄く表示されていればListViewを使えています。

次に隣のこちらを利用していきます。

こちらは変数からListに表示する内容を入れることができるものです。
例えば検索した結果をドキュメントのListで受け取ってそれを表示するなど、ListViewに表示させる内容を変数から取得できる機能です。
3.その他メニュー

Axis・・・スクロールを縦でするか横でするか選べます。Verticalが縦スクロールで、Horizontalが横スクロールですが、Horizontalは多くの場合クラッシュしてしまうのでRowをスクロールできるように実装するのがおすすめです。
Item Spacing・・・ここの数字を入れると表示しているアイテムとアイテムの間にスペースを入れることができます。「Apply to Start & End」を押すと入力したスペースがアイテムの先頭と末尾にも入ります。
Shrink Wrap・・・アイテムの高さに合わせて動的にリストを生成するものです。
Primary・・・ONにすると優先スクロールとなります。
Reverse・・・並んでいるアイテムの順番を上下逆にします。
Reorderble・・・ONにすると並び替え可能な状態になります。
4.まとめ
今回はListViewについて解説しました。
ListView自体は簡単ですがスクロールできないという問題が発生することが多いため本記事を参考にスクロールできないなど基本的な不具合はなくせるようにしましょう。



.webp%3Falt%3Dmedia%26token%3D087cf100-0101-43ba-a354-dab3bbec04d2&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Da7c14698-1b08-4fea-89c6-f77a9121f4c5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D899eeefd-f4c9-44a6-9ec2-3ced0b223ffd&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D554beac3-1f0a-4dae-99c0-76320019500f&w=3840&q=75)







.webp%3Falt%3Dmedia%26token%3D7c77ae76-450c-48b3-be29-0e949e7116dc&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dd8f3f5bc-41c2-4a1e-ace1-62e9ae72d08b&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D679eb351-4808-4d43-8b9d-92f6a88584ef&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D5c25485e-7be1-4f95-ad65-2e4c0c2d0ddb&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D1875ff54-2eaa-4913-8d8c-9a4855927112&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D900f385d-12a2-449b-8d1e-83a57cef0088&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0e802fb0-2dda-44a7-bf80-5d39019635ba&w=3840&q=75)