メインコンテンツまでスキップ

MasonryGrid

MasonryGridウィジェットは、高さがそれぞれ異なるタイルを隙間なく敷き詰めて配置するスタガード(staggered)グリッドです。
ギャラリー形式のカード一覧のように、項目ごとに高さが異なるコンテンツを複数の列に整列するときに使用します。

備考

このウィジェットはFreeプランではロックされており、Pro・Enterpriseプランで使用できます。

定義・役割

MasonryGridウィジェットは、子項目を指定した列数(crossAxisCount)に振り分け、各タイルの高さに合わせて上から詰めて積み上げるグリッドです。通常のグリッドと違い、タイルの高さが均一でなくても空白なく埋まります。項目はデータの件数(itemCount)だけ繰り返し生成され、繰り返される子(child)を1つテンプレートとして使用します。

  • カテゴリー: Layouts
  • ドロップ時のサイズ: 親レイアウト(Row・Column・Stackなど)の中に入れるとデフォルトは200 x 150、最上位(親なし)に配置するとキャンバスを埋めるように大きく表示されます。

機能

機能説明
スタガード配置タイルの高さが互いに異なっても、空白なく上から詰めて配置します。
列数の指定crossAxisCountで1行(交差軸)に配置する列数を決めます。
項目の繰り返しitemCountの数だけ子項目を繰り返しレンダリングします。
間隔の調整mainAxisSpacingcrossAxisSpacingで縦・横のタイル間隔を調整します。
スクロール設定スクロール方向(scrollDirection)・逆方向(reverse)・物理効果(physics)などを設定します。

使い方

  1. 左のウィジェットパレットでLayoutsカテゴリーを開きます。
  2. MasonryGrid項目をキャンバスにドラッグ&ドロップします。
  3. 右側のPropertiesパネルでcrossAxisCountに列数を指定します。
  4. itemCountで繰り返す項目数を決め、繰り返される子ウィジェットを構成します。
  5. 必要に応じてmainAxisSpacingcrossAxisSpacingでタイルの間隔を調整します。

プロパティ

プロパティ説明デフォルト値値 / タイプ
scrollDirectionスクロール(配置)方向verticalhorizontal, vertical
reverse項目の配置順を反転オフ(falsetrue / false
controller接続するスクロールコントローラー未設定スクロールコントローラー
primaryプライマリスクロールビューとして使用するか未設定true / false
physicsスクロールの物理効果未設定スクロール物理値
shrinkWrap内容のサイズに合わせて縮小配置オン(truetrue / false
paddingグリッド内側の余白未設定余白の値
crossAxisCount1行(交差軸)に配置する列数1数値(1以上)
mainAxisSpacing主軸(縦)のタイル間隔0数値(0以上)
crossAxisSpacing交差軸(横)のタイル間隔0数値(0以上)
itemCount繰り返し生成する項目数0数値
addAutomaticKeepAlives画面外の項目の状態を保持オン(truetrue / false
addRepaintBoundaries項目ごとに再描画境界を追加オン(truetrue / false
addSemanticIndexes項目にセマンティックインデックスを付与オン(truetrue / false
cacheExtent先読みでレンダリングするキャッシュ領域のサイズ未設定数値
semanticChildCountセマンティックな子の数未設定数値
dragStartBehaviorドラッグ開始の判定基準startdown, start
keyboardDismissBehaviorスクロール時にキーボードを閉じる動作manualmanual, onDrag
restorationIdスクロール位置を復元するID未設定文字列
clipBehavior子のクリッピング方式hardEdgenone, hardEdge, antiAlias, antiAliasWithSaveLayer

注意・ヒント

警告

crossAxisCountは1以上に指定してください。値が大きいほど1行に配置される列が増えます。

ヒント

shrinkWrapはデフォルトがtrueのため、グリッドは内容の高さの分だけを占めます。ほかのスクロール領域の中に入れるときに便利です。

さらに詳しく

ヒント

このウィジェットをスクリプトで制御するWidget Control(Property・Method・Event)の全体はMasonryGrid Widget Controlドキュメントで確認してください。