pub enum TabAlignment {
Auto,
Start,
StartOffset,
Fill,
Center,
}Expand description
Where the tabs sit in a bar with room to spare.
The question only arises when the tabs do not already fill the bar — which is either because they were told not to share it, or because there are two of them in a window meant for six.
Variants§
Auto
Whatever the bar’s mode implies: Fill when it shares its width,
Start when it scrolls. The default, and the reference’s.
Start
Each tab as wide as it needs, packed against the leading edge.
StartOffset
The same, after an inset of TAB_START_OFFSET.
Fill
The tabs share the bar’s width in equal parts.
Meaningless on a bar that scrolls, since sharing a width is the opposite of
exceeding it, and it reads as Start there. The reference throws
instead; a layout that throws is a crash on somebody’s phone for a combination
that has an obvious reading.
Center
Each tab as wide as it needs, the row centred in the bar.
For a bar that does not scroll. Centring needs something definite to centre
in, and the content of a scroll region has no definite width across the axis it
scrolls along — the strip is measured by its own tabs, so a percentage of its
parent resolves against nothing and it comes out exactly as wide as the tabs it
holds, with no room left over to share. So it reads as Start
there.
The two are not really alternatives anyway: a bar whose tabs might overflow wants
Start and a scroll, and a bar whose tabs certainly fit wants Center and no
scroll at all.