All Classes and Interfaces
Class
Description
Base application layout providing adaptive navigation: a bottom icon bar
with a secondary tab bar on phone, a permanent left-strip rail on tablet,
and a drawer-based
SideNav on desktop.Coarse device category detected from touch capability and physical screen size.
An alternative
NavRenderer for NavType.TOUCH — a grid of root sections in
NavSlots.touchBar() that expands upward via a chevron when there are more than fit,
instead of the default "More" popover.An alternative
NavRenderer for NavType.RAIL — every rail item that represents a
nav group gets a right-pointing chevron instead of navigating to a representative child; tapping
it pops up a flyout listing that group's own children, recursively, to whatever depth the route
hierarchy actually goes.Implemented by views that want to contribute an action component to the
adaptive view header slot.
Implemented by views that want an auto-generated icon+title component in the
adaptive view header slot.
An alternative
NavRenderer for NavType.HEADER — root sections rendered as a
Tabs strip spanning the header; selecting a leaf navigates directly, selecting a group
only reveals that root's own children in the shared SecondaryTabBar drill-down row
beneath, never navigating on its own — the same non-committal rule the drill-down row itself
applies to a group tab of its own (see SecondaryTabBar(boolean, boolean)).A named grouping node in the navigation hierarchy.
Strategy for mapping
MenuEntry items to their position in the navigation
tree.A node in the navigation tree — either a group (non-navigable section) or a
leaf (navigable view).
Everything a
NavRenderer needs to build or update its content for the current
nav state.Builds and updates the nav-item content for one of
AppNavLayout's five
device/orientation scenarios (desktop, tablet portrait, tablet landscape, phone portrait,
phone landscape), placing it into whichever of AppNavLayout's named locations
(see NavSlots) is appropriate.The full set of named locations
AppNavLayout has for nav-item content.The chrome/
NavStrategy built for a device/orientation scenario, declared by the
navType() of whichever
NavRenderer is active for that
scenario — not chosen independently.Fired whenever
AppNavLayout determines and applies a NavType — including on
first attachment, not just on later changes.Viewport orientation detected from window inner dimensions at connection time.
Default
NavGrouper — derives the navigation hierarchy from route path
segments, mirroring the structure of @Route paths.Stateless helpers for navigating the route hierarchy.
An alternative
NavRenderer for NavType.TOUCH — a horizontally scrollable bar
of root sections in NavSlots.touchBar(), with fading edge chevrons instead of the
default "More" popover.Default
NavRenderer for NavType.SIDENAV
— builds a full SideNav hierarchy into NavSlots.drawer(), using the
SideNavItem renderer configured via AppNavLayout.setNavNodeRenderer(ComponentRenderer) and the
nested-match setting from AppNavLayout.setNavMatchNested(boolean).Default
NavRenderer for NavType.RAIL
— a left-edge icon rail in NavSlots.sideRail(), with a "More" overflow trigger when
more root sections exist than fit, plus a drill-down bar in NavSlots.headerNav() for
nested routes, however deep they go.Default
NavRenderer for NavType.TOUCH
— a bottom icon bar in NavSlots.touchBar(), with a "More" overflow trigger when more
root sections exist than fit, plus a drill-down bar in NavSlots.headerNav() for nested
routes, however deep they go.