調査アンケート: Blockly のご利用体験についてお聞かせください
アンケートを開始
行
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ブロックは入力のコレクションとして定義されますが、これらの入力がどのように行とスペーサー行に分割されるかはレンダリング情報によって決まります。
たとえば、ブロックがインライン入力に設定されている場合、ブロックの行数は外部入力に設定されている場合よりも少なくなります。入力の数は同じですが、行数が異なります。

行
Row
は、重ならない要素と要素スペーサーの水平方向のコレクションです。
行の境界は、その行に属する要素とスペーサーの境界によって決まるため、すべての要素が含まれます。
行スペーサー
RowSpacer
は、2 行の間にある空の垂直スペースです。
行スペーサーの境界は、レンダリング情報自体によって決定されます。ブロックのすべての行を測定した後、レンダリング情報は、選択されたサイズのスペースを行の間に挿入します。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-25 UTC。
[null,null,["最終更新日 2025-07-25 UTC。"],[[["\u003cp\u003eBlocks are visually arranged using rows and spacers, determined by render info, affecting the block's layout regardless of the number of inputs.\u003c/p\u003e\n"],["\u003cp\u003eRows are horizontal groupings of elements and spacers, with their size determined by the contained elements.\u003c/p\u003e\n"],["\u003cp\u003eRow spacers are vertical gaps between rows, with their size dictated by the render info to manage the overall block layout.\u003c/p\u003e\n"]]],["Blocks contain inputs, and their visual layout depends on the render info, which structures inputs into rows and spacer rows. Inline inputs create blocks with fewer rows than external inputs, despite having the same number of inputs. A Row consists of elements and element spacers, with its boundaries defined by these components. RowSpacers are empty spaces between rows; the render info determines their size and placement between rows.\n"],null,["# Rows\n\nBlocks are defined as a collection of inputs, but the [render info](/blockly/guides/create-custom-blocks/renderers/concepts/info)\ndetermines how these inputs get broken up into rows and spacer rows.\n\nFor example, when a block is set to [inline inputs](/blockly/guides/create-custom-blocks/define/inline-vs-external),\nthe block is made of fewer rows than when it is set to\n[external inputs](/blockly/guides/create-custom-blocks/define/inline-vs-external). It has the same number of inputs but\na different number of rows!\n\nRow\n---\n\nA [`Row`](/blockly/reference/js/blockly.blockrendering_namespace.row_class) is a horizontal collection of non-overlapping [elements](/blockly/guides/create-custom-blocks/renderers/concepts/elements)\nand [element spacers](/blockly/guides/create-custom-blocks/renderers/concepts/elements#element_spacer).\n\nThe bounds of a row are determined by the bounds of the [elements](/blockly/guides/create-custom-blocks/renderers/concepts/elements) and\n[spacers](/blockly/guides/create-custom-blocks/renderers/concepts/elements#element_spacer) that belong to that row, so that all of the elements\nare contained.\n\nRow spacer\n----------\n\nA [`RowSpacer`](/blockly/reference/js/blockly.blockrendering_namespace.spacerrow_class) is an empty vertical space that goes between two\nrows.\n\nThe bounds of the row spacers are determined by the\n[render info](/blockly/guides/create-custom-blocks/renderers/concepts/info) itself. After measuring all of the rows of the block,\nthe [render info](/blockly/guides/create-custom-blocks/renderers/concepts/info) inserts spaces of its chosen size between rows."]]