Layout responds correctly to all supported screen sizes
Why it matters
Hardcoding widths above 320pt cuts off content on iPhone SE and any small-screen Android — users see clipped headlines, overlapping buttons, and horizontal scroll on what should be a vertical feed. On the large end, 430pt+ devices get awkwardly stretched layouts with orphaned white space. The App Store SE-class device tests and Google Play pre-launch reports both flag these as blocking issues, and review screenshots fail silently when text overflows.
Severity rationale
Critical because content cut off on the smallest supported device makes features functionally unreachable.
Remediation
Replace every fixed width with flex sizing and read viewport dimensions via useWindowDimensions to branch layout at breakpoints:
import { useWindowDimensions } from 'react-native';
function Screen() {
const { width } = useWindowDimensions();
const cols = width > 600 ? 3 : 2;
return <FlatList numColumns={cols} key={cols} data={items} renderItem={renderItem} />;
}
Pass key={cols} so the list remounts when the column count changes.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Mobile UX Patterns Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from mobile-ux-patterns·automated