Large screen app quality

Android devices come in a variety of form factors—phones, tablets, Chromebooks, foldable devices—which have a wide range of screen sizes. Android supports multiple display modes, including multi-window, multi-display, multi-instance, and picture-in-picture. Foldable devices can be in various folded states, or postures, such as tabletop posture or book posture.

To ensure your app provides a great user experience regardless of device form factor, screen size, display mode, or posture, complete the large screen compatibility checklists and tests below.

The checklists and tests define a comprehensive set of quality requirements for most types of Android apps. Your app probably won't need to meet all of the requirements. Implement the ones that make sense for your app's use cases.

Large screen compatibility checklists

The compatibility checklists define criteria to help you assess the level of support your app provides for large screens.

Levels of support include the following:

  • Tier 3 (Basic) — Large screen ready: Users can complete critical flows but with a less than optimal user experience. Your app runs full screen (or full window in multi-window mode), but app layout might not be ideal. The app provides basic support for external input devices, including keyboard, mouse, and trackpad.

  • Tier 2 (Better) — Large screen optimized: Your app implements layout optimizations for all screen sizes and device configurations along with enhanced support for external input devices.

  • Tier 1 (Best) — Large screen differentiated: Your app provides a user experience designed for tablets, foldables, and Chrome OS. Where applicable, the app supports multitasking, foldable postures, drag and drop, and stylus input.

Complete the Tier 2 requirements to enable your app to provide an excellent user experience on all Android devices. To make your app outstanding on large screens, complete Tier 1.

Tier 3 — Large screen ready

Large screen ready apps must first fulfill the core app quality requirements—in particular, the UI and Graphics requirements.

Apps must also meet the following large screen requirements:

Category ID Test Description
Configuration and continuity LS-C1 T3-1 App handles configuration changes and retains or restores its state as the device goes through configuration changes such as device rotation, folding and unfolding, and window resizing; for example:
  • Scroll position of scrollable fields is maintained
  • Text typed into text fields is retained and the keyboard state is restored
  • Media playback resumes where it left off when the configuration change was initiated
LS-C2 T3-2 App handles combinations of configuration changes, such as window resizing followed by device rotation, or rotation followed by device folding or unfolding.
Multi-window and multi-resume LS-M1 T3-3 App is fully functional in multi-window mode. See Multi-window support.
LS-M2 T3-4, T3-5 App fully supports multi-resume mode. App updates its UI (continues playing media, incorporates new messages, updates download progress, etc.) when the app is not the top focused app. In addition, the app handles the loss of exclusive resources such as cameras and microphones in multi-window scenarios. See Multi-window lifecycle in Multi-window support.
Camera preview and media projection LS-CM1 T3-6 App provides camera preview in landscape and portrait orientations, folded and unfolded device states, and multi-window mode. Preview is properly proportioned and in the correct orientation.
LS-CM2 T3-7 App supports media projection in landscape and portrait orientations, folded and unfolded device states, and multi-window mode. Projection is properly proportioned and in the correct orientation.
Keyboard, mouse, and trackpad LS-I1 T3-8 App supports text input using external keyboard and switches between physical and virtual keyboards when an external keyboard is connected or disconnected without relaunching the app.
LS-I2 T3-9 App supports basic mouse or trackpad interactions:
  • Click: Any clickable element, including buttons, dropdown menus, text entry fields, and navigation icons
  • Select: Any selectable element, including radio buttons, checkboxes, and text (by swiping or double clicking)
  • Scroll: Vertically and horizontally in scrollable elements such as lists and pickers

Tier 2 — Large screen optimized

Optimized apps fully support all screen types and device states, including state transitions.

Category ID Test Description
UX LS-U1 T2-1 App has responsive and adaptive layouts designed for large screens. All layouts are responsive (see Migrate your UI to responsive layouts). Implementation of adaptive layouts is determined by window size classes.

The app UI can include the following:

  • Leading edge navigation rails that expand on larger window sizes into full navigation panels
  • Grid layouts that scale the number of columns to accommodate window size changes
  • Columns of text on large screens
  • Trailing edge panels that are open by default on laptop and desktop screen sizes; closed, on smaller screens
Two-pane layouts, where appropriate, are recommended to take advantage of the large screen space. See SlidingPaneLayout for list detail UIs.

Activity embedding enables activity-based apps to easily create multi-pane layouts by displaying activities side by side.

LS-U2 T2-1 Modals, options menus, and other secondary elements are properly formatted on all screen types and device states, for example:
  • Bottom sheets are not full width on large screens. (Apply a maximum width to avoid stretching.) See Behavior in Sheets: bottom.
  • Buttons are not full width on large screens. See Behavior in Buttons.
  • Text fields and boxes do not stretch to full width on large screens. See Behavior in Text fields.
  • Small edit menus or modals do not cover the entire screen and maintain context for the user as much as possible. See Menus.
  • Options menus appear next to the item the user selected. See the "Contextual menu" topic in Menus.
  • Navigation rails replace navigation bars for better ergonomics. Rails can also complement other navigation components, such as navigation bars. See Navigation rail.
  • Navigation drawers are updated to the latest material component. See Navigation drawer.
  • Dialog boxes are updated to the latest material component. See Dialogs.
  • Images are displayed at a proper resolution and are not stretched or cropped.
LS-U3 T2-2 Touch targets are least 48dp. See the Material Design Layout and typography guidelines.
LS-U4 T2-3 A focused state is created for custom drawables that are interactive.
Keyboard, mouse, and trackpad LS-I3 T2-4 The main task flows in the app support keyboard navigation, including Tab and arrow key navigation. See Build more accessible apps.
LS-I4 T2-5 App supports keyboard shortcuts for commonly used actions such as select, cut, copy, paste, undo, and redo. See Input compatibility.
LS-I5 T2-6 Keyboard can be used to control media playback; for example, the space bar plays and pauses media.
LS-I6 T2-7 Keyboard Enter key performs a send function in communication apps.
LS-I7 T2-8 App supports mouse and trackpad for zoom and right-click (secondary mouse button or secondary tap) capabilities. Options menus are accessible by typical mouse and trackpad right-click behavior.
LS-I8 T2-9 App content can be zoomed using the mouse scroll wheel (in conjunction with a keyboard key press) and trackpad pinch gestures.
LS-I9 T2-10 Actionable UI elements have hover states (where appropriate) to indicate to mouse and trackpad users that the elements are interactive.

Tier 1 — Large screen differentiated

Large screen differentiated apps use the large screen form factor to its full potential. Differentiated apps offer a premium user experience that's productive and enjoyable.

Category ID Test Description
Multitasking and multi-instance LS-M3 T1-1, T1-2, T1-3 App supports various multitasking scenarios; for example:
  • Picture-in-picture mode: App is able to enter and exit picture-in-picture mode in portrait and landscape orientations, with the device folded and unfolded, and in multi-window mode. See Picture-in-picture (PiP) support.
  • Multi-window mode: App can open another application in a separate window from a deep link; for example, a contact management app opens a link to an email message which is displayed in an email app in a new window. See FLAG_ACTIVITY_LAUNCH_ADJACENT.
  • Attachments: Messaging apps can open attachments (such as videos) in a separate window.
LS-M4 T1-4 App is able to launch multiple instances of itself in separate windows. Use cases include document editing, web browsing, file management apps, and product comparisons in shopping apps. See Multi-instance in Multi-window support.
Foldable postures and states LS-F1 T1-5 App supports all foldable postures and related use cases:
  • Tabletop mode — Video calling and video or audio playback.
  • Book mode — Reading lengthy text content.
  • Dual display — Front and back screen preview for camera apps. Support for dual-screen devices.
See Learn about foldables.
LS-F2 T1-6 Camera apps adjust their preview for folded and unfolded states and support front and back screen preview.
Drag and drop LS-D1 T1-7 App supports drag and drop of images and text between views within the app and to and from other apps in multi-window mode. See Drag and drop. See also LS-S3.
Keyboard, mouse, and trackpad LS-I10 T1-8 App provides a comprehensive set of keyboard shortcuts that are customizable by the user.
LS-I11 T1-9 Keyboard and mouse or trackpad combinations, such as Ctrl+click or Ctrl+tap and Shift+click or Shift+tap, provide enhanced capabilities, including the selection of ranges of adjacent items or multiple separated items.
LS-I12 T1-10 App displays a scrollbar while content is being scrolled using a mouse or trackpad.
LS-I13 T1-11 Cascading or pop-up content (such as fly-out menus or tooltips) is revealed on mouse or trackpad hover.
LS-I14 T1-12 Desktop-style menus and context menus are used where appropriate.
LS-I15 T1-13 UI panels are resizable with a mouse or trackpad.
LS-I16 T1-14 App supports triple clicking with a mouse or triple tapping with a trackpad.
Stylus LS-S1 T1-15 App provides basic support for stylus-equipped Chromebooks, tablets, and foldables. The stylus can be used to select and manipulate UI elements, including scrolling through lists, pickers, and other scrollable content. See Stylus in Input compatibility on large screens.
LS-S2 T1-16 App supports drawing and writing with a stylus. Drawings and writing can be erased with the stylus.
LS-S3 T1-17 App provides stylus support for dragging and dropping content between views within the app and, in multi-window mode, to and from other apps. See Drag and drop.
LS-S4 T1-18 App provides enhanced stylus support, including:
  • Pressure sensitivity for drawing stokes of varying width
  • Tilt detection for creating shading strokes
  • Palm and finger rejection to prevent stray marks
Custom cursors LS-P1 T1-19 App presents customized cursors to indicate how and when users can interact with UI elements, for example:
  • I-beam for text
  • Resize handles at resizable layer edges
  • Processing spinners
See PointerIcon and Mouse pointer icons.

Large screen compatibility tests

The following tests help you discover quality issues in your app. You can combine the tests or integrate groups of tests together in your own test plans.

For layout and UX purposes, test on at least the following device types:

  • Foldable (841x701 dp)
  • 8-inch tablet (1024x640 dp)
  • 10.5-inch tablet (1280x800 dp)
  • 13-inch Chromebook (1600x900 dp)

Use the following Android emulators to test large screen device compatibility:

  • Foldable phone — 7.6” Fold-in with outer display
  • Tablet — Pixel C 9.94"
  • Dual-display foldable — Microsoft Surface Duo

Tier 3 — Large screen ready

Category ID Feature Description
Configuration and continuity T3-1 LS-C1 From each app screen that has scrollable content, continuous playback content, or text entry fields, do the following:
  • Scrollable content: Scroll the content
  • Playback content: Begin playback
  • Text entry fields: Enter text in multiple fields
Rotate the device between landscape and portrait orientations, fold and unfold the device (if applicable), span and unspan your app across two screens (if you have a dual-screen device) and resize the app window in multi-window mode. Verify the following:
  • Scrollable content: The scroll position remains the same
  • Playback content: Playback resumes where it left off when the configuration change was initiated
  • Text entry fields: Previously entered text is retained in input fields
T3-2 LS-C2 From each app screen, perform combinations of rotating the device between landscape and portrait orientations, folding and unfolding the device (if applicable), and resizing the app window in multi-window mode.
Multi-window and multi-resume T3-3 LS-M1 Open the app in multi-window mode. For each app screen, rotate the device between landscape and portrait orientations multiple times. Resize the app window in each orientation. For foldable devices, fold and unfold the device in each orientation. Check whether the app is fully functional in all window sizes and device orientations.
T3-4 LS-M2 Open the app and initiate a process, such as playing a video, that continuously updates the app. Open another app and make the new app the top focused app. Verify that the non-focused app continues to update its content (for example, a video continues to play).
T3-5 LS-M2 In the app, open the camera or use the microphone. Open another app, and make the new app the top focused app. Verify that the non-focused app has relinquished the camera or mic. Make the original app the top focused app. Verify that the app has regained access to the camera or mic.
Camera preview and media projection T3-6 LS-CM1 Open the app full screen and in multi-window mode. Start the camera from within the app. Rotate the device between landscape and portrait orientations. For foldable devices, fold and unfold the device in each orientation. In multi-window mode, resize the app window. Verify that the camera preview is in the proper orientation and proportions in all device states and window sizes.
T3-7 LS-CM2 Open the app full screen and in multi-window mode. Start a media projection. Rotate the device between landscape and portrait orientations. For foldable devices, fold and unfold the device in each orientation. In multi-window mode, resize the app window. Verify that the media projection is in the proper orientation and proportions in all device states and window sizes.
Keyboard, mouse, and trackpad T3-8 LS-I1 For each app screen that has text entry fields, connect an external keyboard to the device and enter text with the external keyboard and the virtual keyboard. Disconnect the external keyboard and enter text with the virtual keyboard.
T3-9 LS-I2 For each app screen, connect a mouse and trackpad to the device. Perform basic mouse and trackpad interactions:
  • Click all clickable elements such as buttons, dropdown menus, and text entry fields.
  • Select radio buttons and checkboxes. Select text by swiping and double clicking.
  • Scroll vertically and horizontally (if applicable) through lists, pickers, etc.

Tier 2 — Large screen optimized

Category ID Feature Description
UX T2-1 LS-U1, LS-U2

Run the app on devices that have a wide variety of screen sizes, including phones, foldable phones, small and large tablets, and Chrome OS devices. Run the app in multi-window mode on the devices.

Verify that the app layout responds and adapts to different screen and window sizes. Check whether the app expands and contracts navigation rails, scales the number of columns in grid layouts, flows text into columns, and so forth. Observe whether UI elements are formatted for both aesthetics and function.

For apps using activity embedding, test whether activities are displayed side by side on large screens, stacked on small screens.

T2-2 LS-U3 Verify that touch targets maintain a consistent, accessible size and position for all display sizes and configurations. For information on accessibility, see the Accessibility Scanner.
T2-3 LS-U4 On each app screen that contains an interactive custom drawable, verify that the drawable can be focused using an external keyboard, mouse, trackpad, or other device that enables views to be focused. For related information, see Touch Mode.
Keyboard, mouse, and trackpad T2-4 LS-I3 Navigate through the app's focusable components using the Tab and arrow keys of an external keyboard.
T2-5 LS-I4 Use keyboard shortcuts on an external keyboard to perform select, cut, copy, paste, undo, and redo actions.
T2-6 LS-I5 Use an external keyboard to start, stop, pause, rewind, and fast forward media playback.
T2-7 LS-I6 Use the Enter key of an external keyboard to send or submit data.
T2-8 LS-I7 Use the secondary mouse button or trackpad secondary tap capability to access the options menu of interactive elements.
T2-9 LS-I8 Use the mouse scroll wheel (in conjunction with the Control, or Ctrl, key) and trackpad pinch gestures to zoom content in and out.
T2-10 LS-I9 Hover the mouse or trackpad cursor over actionable UI elements to activate the element's hover state.

Tier 1 — Large screen differentiated

Category ID Feature Description
Multitasking and multi-instance T1-1 LS-M3 Enter and exit picture-in-picture mode in portrait and landscape orientations, with the device folded and unfolded, and in multi-window mode. In multi-window mode, change the window size while picture-in-picture mode is active.
T1-2 LS-M3 In multi-window mode, open another app from within the app and display both apps side by side.
T1-3 LS-M3 Open and close attachments and notifications in portrait and landscape orientations, with the device folded and unfolded, and in multi-window mode.
T1-4 LS-M4 Launch multiple instances of the app in separate windows in portrait and landscape orientations, with the device folded and unfolded, and in multi-window mode.
Foldable postures and states T1-5 LS-F1 View the app in all foldable postures, including tabletop mode, book mode, and dual display (for example, Microsoft Surface Duo). Verify that UI elements transition to the optimal location (for example, media controllers move to the horizontal screen area in tabletop mode).
T1-6 LS-F2 Activate the camera from within the app. Verify that the camera preview is correct when the device is folded and unfolded and rotated to portrait and landscape orientations. With the device unfolded, verify that the preview is correct on front and back screens.
Drag and drop T1-7 LS-D1 Drag and drop images and text to drop targets within the app. In multi-window mode, drag and drop images and text between the app and another app (to and from both apps). Verify the functionality in portrait and landscape orientations and when the device is in a folded or unfolded state.
Keyboard, mouse, and trackpad T1-8 LS-I10 Change the app's keyboard shortcuts. Test the revised shortcuts using an external keyboard.
T1-9 LS-I11 Using an external keyboard, mouse, and trackpad, select items in the app's UI. Select multiple separated items and ranges of adjacent items using keyboard/mouse/trackpad actions such as Ctrl+click, Ctrl+tap, Shift+click, and Shift+tap.
T1-10 LS-I12 Scroll app content using a mouse and trackpad. Verify that a scrollbar appears while the content is scrolling.
T1-11 LS-I13 Using a mouse and trackpad, hover the pointer over UI elements that contain cascading or pop-up content. Verify that the additional content is revealed.
T1-12 LS-I14 On laptop and desktop displays, verify that desktop-style menus and context menus are used.
T1-13 LS-I15 On each app screen, resize UI panels using a mouse and trackpad.
T1-14 LS-I16 Using a mouse and trackpad, triple click or tap to select items in the app; for example, to select full lines of text.
Stylus T1-15 LS-S1 Using a stylus, navigate through the app, select UI elements, scroll through lists and pickers, and generally interact with the app.
T1-16 LS-S2 Draw and write within the app using a stylus. Erase drawings and writing using the stylus.
T1-17 LS-S3 Using a stylus, drag and drop content to drop targets within the app. In multi-window mode, drag and drop content between the app and another app (to and from both apps).
T1-18 LS-S4 Interact with the app using a stylus as follows:
  • Draw with varying amounts of stylus pressure. Check whether the width of the strokes changes as the pressure changes. More pressure should produce thicker strokes.
  • Tilt the stylus as you draw; shading strokes should be produced. The more the stylus is tilted, the wider and lighter the shading strokes should be.
  • As you're drawing, let your fingers and palm touch the screen. The finger and palm touches should not produce marks.
Custom cursors T1-19 LS-P1 Interact with the app using a mouse and trackpad. Verify that custom cursors appear where appropriate, for example:
  • I-beam for text entry fields
  • Resize handles at resizable layer edges
  • Spinners when app is performing long-running tasks