[expo-widgets] Expose control over WidgetKit content margins
complete
Eliot Gevers
Please expose a first-class way to control WidgetKit content margins for normal
expo-widgets
.On iOS, WidgetKit adds default content margins around widgets. In practice, this often creates a confusing "double padding" effect:
- Apple applies system margins outside the content
- The app adds its own padding inside the widget layout
That makes it hard to build edge-to-edge or tightly composed widget designs.
Why This Matters
The lack of margin control makes layout work harder than it needs to be:
- widgets can look visually inset even when their inner content is set to fill available space
- developers are left guessing how much padding should belong to WidgetKit vs. the widget layout itself
- empty states and dense states can appear inconsistent
Apple already provides
contentMarginsDisabled()
on the native side, so the platform supports this. The gap is that expo-widgets
does not currently expose a clean JS/config surface for it. Even if Expo keeps Apple defaults by default, developers still need an officially supported way to opt out when a design requires tighter control.Requested API / Direction
Any of the following would help:
- A widget config option to disable system content margins.
- A widget config option to opt into custom content margins.
- A documented recommended pattern for designing within default WidgetKit margins.
Brent Vatne
marked this post as
complete