unfold library
Layouts for iPhone Duo from UIKit's own APIs, plus Android foldables.
Classes
- AdaptiveAction
- A bar action in an AdaptiveNavigationScaffold: in the app bar, or at the top of iPhone Duo's side column.
- AdaptiveDestination
- A destination in an AdaptiveNavigationScaffold.
- Tabs and actions in iPhone Duo's side column, a rail on wide windows, or a bottom bar.
- DeviceGeometry
- What the platform says about the shape of the device.
- DeviceGeometryScope
-
Provides DeviceGeometry below it, e.g. from
MaterialApp.builder. - Fold
- A fold or hinge across the window.
- FoldSplit
- primary and secondary side by side, divided where the window divides.
- HingeAngleBuilder
- Rebuilds builder with each hinge angle, in degrees, and nothing above it.
- OcclusionSafeArea
- Insets child away from the active occlusions it overlaps: the camera, the status bar column, margins included.
- ReservedRegion
-
A
UIView.ReservedRegion; frame includes margins. - SideStrip
- The column iPhone Duo keeps for its camera, status bar and bars.
- TabletopSplit
- top above the fold and bottom below it in tabletop posture.
- Unfold
- Platform calls outside the widget tree.
- UnfoldAndroid
-
Android needs no native code: it reports folds through
MediaQuery.displayFeatures, which DeviceGeometryScope reads.
Enums
- DisplayFeatureBridge
-
What DeviceGeometryScope publishes to
MediaQuery.displayFeatureson iOS. - GeometryAspect
- Which part of DeviceGeometry a widget depends on.
- HingeStatus
-
UIHinge.Statuson iOS; mapped from the fold posture on Android. - SizeClass
-
UIUserInterfaceSizeClass: iOS lays out from these, not from widths. - StripSide
- A physical side edge. iPhone Duo keeps its bar column on the same hardware side in right-to-left languages, so this is never leading or trailing.
- VerticalBarCompression
-
What gives way first when tabs and actions do not both fit in the column
(
UINavigationItem.verticalBarCompressionBehavior).
Extensions
- DeviceGeometryContext on BuildContext
- Reads the device's geometry from the nearest DeviceGeometryScope.