Rows
Blocks are defined as a collection of inputs, but the render info
determines how these inputs get broken up into rows and spacer rows.
For example, when a block is set to inline inputs,
the block is made of fewer rows than when it is set to
external inputs. It has the same number of inputs but
a different number of rows!

Row
A Row
is a horizontal collection of non-overlapping elements
and element spacers.
The bounds of a row are determined by the bounds of the elements and
spacers that belong to that row, so that all of the elements
are contained.
Row spacer
A RowSpacer
is an empty vertical space that goes between two
rows.
The bounds of the row spacers are determined by the
render info itself. After measuring all of the rows of the block,
the render info inserts spaces of its chosen size between rows.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[null,null,["Last updated 2024-09-18 UTC."],[[["Blocks are visually arranged using rows and spacers, determined by render info, affecting the block's layout regardless of the number of inputs."],["Rows are horizontal groupings of elements and spacers, with their size determined by the contained elements."],["Row spacers are vertical gaps between rows, with their size dictated by the render info to manage the overall block layout."]]],["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"]]