How do you manage multiple screen sizes and resolutions in Android development?

Instruction: Explain strategies for designing applications that adapt to different screen sizes and resolutions.

Context: This question assesses the candidate's ability to design flexible UIs that provide consistent user experiences across a wide range of Android devices.

Updated

Official answer

Design for the space currently available to the app, not just the device's physical screen or a phone/tablet label. Split-screen, desktop windows, fold posture and system insets can change that space while the app is running.

Use flexible constraints and content-driven sizing. ConstraintLayout can express responsive relationships, but it does not automatically choose a useful new information hierarchy. Define when navigation or content changes: for example, a narrow window shows list then detail, while a sufficiently wide window shows both. Preserve the selected item as the layout changes.

For View-based apps, supply appropriate width-qualified layouts and defaults; choose the qualifier according to whether the decision depends on current width or smallest available width. Use density-qualified/vector assets for visual quality, dp for normal layout sizes and sp for text. Resolution and window size are separate concerns.

Allow large text to wrap/reflow, respect insets, support keyboard/focus and accessibility navigation, and avoid a fixed-height container that clips translated labels. Where folds obstruct content, use the window/posture APIs rather than assuming a continuous rectangle.

Test narrow/wide windows, live resizing, rotation, large fonts, long translations and different densities on supported configurations. Verify usable touch targets, reading order and state restoration. A layout that fits the screenshot but loses selection or hides its primary action is not complete.

Adaptive layout guidance, Multi-window, Screen density

Related Questions