Incular logoIncular
API ReferenceLayout Values

CrossAxisAlignment

Every cross-axis alignment variant with defaults explained.

use incular::prelude::*;

fn main() {
    let values = [
        CrossAxisAlignment::Start,
        CrossAxisAlignment::End,
        CrossAxisAlignment::Center,
        CrossAxisAlignment::Stretch,
        CrossAxisAlignment::Baseline,
    ];
    println!("variants: {}", values.len());
}
VariantLayout
StartAlign to the cross start (enum default)
EndAlign to the cross end
CenterCenter across (flex widget default)
StretchFill the cross extent
BaselineAlign text baselines

Note: the enum defaults to Start, but Row, Column, and Flex default the field to Center.

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(
                Row::builder()
                    .children(Vec::<Widget>::from([
                        Text::new("Tall").into(),
                        Text::new("short").into(),
                    ]))
                    .cross_axis_alignment(CrossAxisAlignment::Center)
                    .spacing(8.0)
                    .build(),
            )
            .build()
            .into()
    })?;
    incular::run(app)?;
    Ok(())
}

Baseline pairs with the Baseline widget for mixed-size text rows.