Flutter apps run on many screen sizes (phones, tablets, web, desktop), so building responsive (adapting to size) and adaptive (adapting to platform) UIs is important. Flutter provides tools like MediaQuery, LayoutBuilder, and flexible widgets for this.
Responsive: adapting to screen size
// MediaQuery — get screen dimensions and adapt
final width = MediaQuery.of(context).size.width;
if (width > 600) {
// tablet/desktop layout (e.g. side-by-side)
} else {
// phone layout (e.g. stacked)
}
// LayoutBuilder — adapt based on the available space (parent constraints)
LayoutBuilder(builder: (context, constraints) {
if (constraints.maxWidth > 600) return WideLayout();
return NarrowLayout();
})
