Large screens app quality

Android devices come in a variety of form factors. While phones are one of the most common device types, many other form factors are becoming increasingly common: from tablets and Chromebooks to foldable devices. In addition, there's a great diversity of screen types and app display states.

In order to create a great experience for users no matter the device, you should review and follow the responsive layout design guidelines.

These checklists define minimum quality criteria and associated tests to help you assess the quality of your app. Some of these criteria might be easy to miss, and the tests help you remember to include them in your test plans.

Each test has a unique ID which you might find helpful to use when you communicate with your team.

Basic compatibility

Your app should fulfill the core app quality requirements. In particular, to support large screen devices, developers should pay special attentions to these three requirements in the core app quality requirements:

Area ID Description
UI and Graphics VX-U1 The app supports both landscape and portrait orientations (if possible). Orientations expose largely the same features and actions and preserve functional parity. Minor changes in content or views are acceptable.
VX-U2 The app uses the whole screen in both orientations and does not letterbox to account for orientation changes. Minor letterboxing to compensate for small variations in screen geometry is acceptable.
VX-U3 The app correctly handles rapid transitions between display orientations without rendering problems or losing state.

When setting up a test environment, we recommend testing using these Android emulators as a minimum for large screen device compatibility:

  • Foldable Phone - 7.6” Fold-in with outer display
  • Tablet - Pixel C 9.94"

In the worst case, large screen devices will try to run your app in compatibility mode with a system rendered letterbox. Even in this case, you should pay attention to the size of tap targets and be sure that any orientation change in your app still functions as expected.

Better: Full support for all screen types and states

These tests ensure that your app supports all screen types and states, in addition to non-trivial state transitions.

Area ID Description
Multi-Window and Multi-Resume LS-M1 The app must be available to be used in Multi-Window mode. Learn how.
LS-M2 The app must update the UI (continue playing video, update with new messages, update download progress, etc) when it's not the top focused application for the user. This also includes handling the loss of exclusive resources such as camera and microphone in multi-window scenarios.
Continuity and Configuration Changes LS-C1 The app must handle configuration changes and retain or restore state as the device goes through configuration changes such as folding/unfolding, window resizing, or rotation.
LS-C2 The app handles combinations and chains of configuration changes, such as window resizing followed by device rotation, or device rotation followed by folding/unfolding.
Improved App UX for Tablet, Desktop layouts LS-U1 The app supports both portrait and landscape orientations
LS-U2 The app should have layouts appropriate for the larger screens. Learn how.
LS-U3 Modals, options menus, and other secondary elements should be formatted well on all screen types and states
Touch target minimum sizes LS-T1 Touch targets should be at least 48dp. Learn how.
Input Support - keyboard, mouse, touch input, trackpad LS-I1 Main user flows should support keyboard navigation, including arrow keys and tab navigation
LS-I2 Support keyboard shortcuts for text selection, cut/copy/paste, and undo/redo. Learn how.
LS-I3 The app plays/pauses multimedia playback when the spacebar key is pressed
LS-I4 Apps should support basic mouse/trackpad support, including scrolling and right-click handling

Best: Differentiated experiences

These tests ensure that your app takes advantage of specific screen types or states to provide a differentiated experience.

Area ID Description
Multi-Instance LS-M3 If the app launches other tasks, it should support multi-instance. Learn how.
Foldable posture layouts and interactions LS-F1 When running on a foldable device, the app is usable while in tent mode, tabletop mode, or book mode and, if applicable, provides a user experience optimized for the device state
LS-F2 If the app is a camera app, it supports dual display (front and back screen) preview
Advanced desktop layouts LS-U4 The app includes layouts with at least one breakpoint in the 1300-1600dp window width range. Learn how.
Drag and drop functionality LS-D1 Build natural drag and drop for both images and text. Learn how.
Stylus support LS-S1 If the app handles free-form user input, it handles stylus input devices including different tool types and palm rejection. Learn how.
LS-S2 If applicable, the app handles advanced stylus input events including pressure sensitivity and tilt detection
Enhanced keyboard support LS-I5 The app supports the use of keyboard modifiers, such as shift + click to select ranges of items
LS-I6 The app supports multi-selection with keyboard meta keys (ctrl and shift keys) and tap / trackpad / mouse click for selectable lists of items
Enhanced input support- mouse and trackpad LS-I7 The app displays a scrollbar while the content is being scrolled
LS-I8 When the app indicates there's more content in a view than the user can see at once and a mouse or trackpad is available, the user should be able to reveal the additional material by scrolling with the input device rather than forcing a touch screen gesture.
LS-I9 The app uses desktop-style menus and contextual menus, when applicable
LS-I10 The app uses UI panels that are resizable with mouse, when applicable
LS-I11 When some of the content is partially hidden, extra buttons or controls are revealed on mouse hover
LS-I12 The app supports triple tapping on a mouse or trackpad
Custom cursors for mouse LS-P1 Apps should customize cursors to show which UI elements are active and how to use them. Learn how.