pub fn flow_column() -> FlowColumnBuilderExpand description
§flow_column
A layout component that wraps children into multiple vertical columns.
§Usage
Wrap tall item stacks into columns for responsive dashboards or menus.
§Parameters
modifier— modifier chain applied to the flowing column container.main_axis_alignment— alignment within each wrapped column.cross_axis_alignment— cross-axis alignment for items inside a column.line_alignment— alignment between wrapped columns.item_spacing— spacing between items in the same column.line_spacing— spacing between wrapped columns.max_items_per_line— optional cap for items per column.max_lines— optional cap for total wrapped columns.children— child slot rendered inside the layout.
§Examples
use tessera_components::{boxed::boxed, flow_column::flow_column, modifier::{ModifierExt as _, SemanticsArgs}};
use tessera_ui::{Dp, Modifier, tessera, testing::layout_test};
#[tessera]
fn demo() {
flow_column().modifier(Modifier::new().height(Dp(50.0))).children(|| {
for tag in ["first", "second"] {
boxed().modifier(
Modifier::new().size(Dp(10.0), Dp(30.0))
.semantics(SemanticsArgs { test_tag: Some(tag.into()), ..Default::default() })
).children(|| {});
}
});
}
let snapshot = layout_test(demo).viewport_px(100, 50).run();
snapshot.node("first").position(0, 0).size(10, 30);
snapshot.node("second").position(10, 0).size(10, 30);