const PHONE_BREAKPOINT: f32 = 720.0;
const TABLET_BREAKPOINT: f32 = 1_120.0;
Responsive::new(DesktopLayout)
.id(WidgetId::explicit("settings.responsive"))
.case(ResponsiveCase::max_width(PHONE_BREAKPOINT, PhoneLayout))
.case(ResponsiveCase::between(
PHONE_BREAKPOINT,
TABLET_BREAKPOINT,
TabletLayout,
))
.into()
Field | Type | Meaning |
|---|---|---|
id | Option<WidgetId> | Stable identity for diagnostics and retained branch structure. |
query | ResponsiveQuery | Width source: viewport or parent container. |
cases | Vec<ResponsiveCase> | Ordered breakpoint cases. First match wins. |
fallback | Widget | Rendered when no case matches. |
Constructor | Meaning |
|---|---|
ResponsiveCase::min_width(width, child) | Matches widths greater than or equal to width. |
ResponsiveCase::max_width(width, child) | Matches widths below width. |
ResponsiveCase::between(min, max, child) | Matches min <= width < max. |