Length
Length is used to fill space in a specific dimension. The Length enum also has capablities of being responsive.
The Length enum has the following variants:
Length::FillLength::FillPortion(u16)Length::ShrinkLength::Fixed(f32)
1. Length::Fill enum
Length::Fill is used to set a widget's width or height to fill the viewport. For example, setting a container's width property to Length::Fill will set the container's width to fill the available space.
let ui = container(...)
.width(Length::Fill)
.height(50.0);
This will result in the following,
2. Length::FillPortion(u16) enum
Length::FillPortion(u16) is used to set width or height to a collection of widgets in a specified ratio. This enum is mostly used in collection widgets such as row or column.
Let’s say we have two elements: one with FillPortion(3) and one with FillPortion(2). The first will get 2 portions of the available space, while the second one would get 3. So basically, the two elements will get it's portions in the ratio of 3:2.
let col = column![
container(...)
.width(Length::FillPortion(2)),
container(...)
.width(Length::FillPortion(3)),
].height(50.0)
This will result in the following,
Shrink
Length::Shrink is used to set the minimum length that an element needs to be properly displayed. This length will be independent from anything else. For example, a container will take the length of it's child element.
Fixed
Length::Fixed(f32) is used to set a fixed length. This length will be independent from anything else.
Length::Fixed(15.0)
Length::from(15.0)
Length::from(15)