API ReferenceLayout Values
WrapAlignment
Run and cross-run alignment for Wrap layouts.
use incular::prelude::*;
fn main() {
let values = [
WrapAlignment::Start,
WrapAlignment::End,
WrapAlignment::Center,
WrapAlignment::SpaceBetween,
WrapAlignment::SpaceAround,
WrapAlignment::SpaceEvenly,
];
let cross = [
WrapCrossAlignment::Start,
WrapCrossAlignment::End,
WrapCrossAlignment::Center,
];
println!("main: {} cross: {}", values.len(), cross.len());
}| Variant | Layout |
|---|---|
Start | Pack at the start (default) |
End | Pack at the end |
Center | Center as a group |
SpaceBetween | Edges flush, even gaps |
SpaceAround | Even gaps, half at edges |
SpaceEvenly | Fully even gaps |
WrapCrossAlignment mirrors the same idea across runs: Start (default) /
End / Center.
WrapAlignment serves both alignment (within a run) and run_alignment
(across runs) on Wrap.
use incular::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let app = Application::new(|_cx| {
Container::builder()
.padding(EdgeInsets::all(24.0))
.alignment(Alignment::CENTER)
.child(
Wrap::new(Vec::<Widget>::from([
Text::new("one").into(),
Text::new("two").into(),
Text::new("three").into(),
]))
.alignment(WrapAlignment::Center)
.spacing(8.0)
.run_spacing(8.0),
)
.build()
.into()
})?;
incular::run(app)?;
Ok(())
}Related: Wrap.