App handles both landscape and portrait orientations
Why it matters
Leaving orientation unset in app.json lets users rotate the device, but if layouts use column-only flex or fixed heights, the landscape view clips inputs and stacks the tab bar on top of content. Tablet users — who default to landscape — see a broken experience on first launch. Locking to portrait without justification blocks accessibility use cases like one-handed reading on a stand and fails Google Play's large-screen quality signals.
Severity rationale
High because rotation bugs break entire classes of devices and hurt tablet and foldable quality rankings.
Remediation
Either lock orientation intentionally in app.json or make every screen adapt via useWindowDimensions:
import { useWindowDimensions } from 'react-native';
function Screen() {
const { width, height } = useWindowDimensions();
const isLandscape = width > height;
return <View style={{ flex: 1, flexDirection: isLandscape ? 'row' : 'column' }}>{/* content */}</View>;
}
Test the primary flows in both orientations before each release.
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