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
Apps must also meet the following large screen requirements:
|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:
|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.
Note: Unity apps should be on Unity Long Term Support (LTS) version 2019 or later. See Multi-window mode verification.
|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:
|Stylus||LS-S1||T3-10||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.
Note: Basic stylus input is the same as touch input, which is fully supported by Android. All apps support basic stylus input with no special development required.
Tier 2 — Large screen optimized
Optimized apps fully support all screen types and device states, including state transitions.
|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:
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:
|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. A custom drawable is any visual UI element not provided by the Android framework. If users can interact with a custom drawable, the drawable must be focusable when the device is not in Touch Mode, and a visual indication of the focused state must be apparent.|
|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.
|Multitasking and multi-instance||LS-M3||T1-1, T1-2, T1-3||App supports various multitasking scenarios; for example:
|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:
|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 while supporting conventional shortcuts such as Ctrl-C for copy and Ctrl-Z for undo. App maintains keyboard shortcut parity with equivalent web or desktop versions of the app whenever possible.|
|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||Where applicable, UI elements display additional content such as fly‑out menus or tooltips on mouse or trackpad hover. App maintains hover state parity with equivalent web or desktop versions of the app whenever possible.|
|LS-I14||T1-12||Desktop-style menus and context menus are used where appropriate.|
|LS-I15||T1-13||UI panels in multi-panel layouts are reconfigurable using a mouse or trackpad. Reconfigurable panels enable users to adjust the app layout for increased productivity, for example, by changing the size of the detail panel of a list-detail layout or by rearranging panels on screen. Note: This does not apply to navigation bars, rails, or drawers.|
|LS-I16||T1-14||Triple clicking or tapping using a mouse or trackpad selects entire lines or paragraphs of text.|
|Stylus||LS-S2||T1-15||App supports drawing and writing with a stylus. Drawings and writing can be erased with the stylus.|
|LS-S3||T1-16||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-17||App provides enhanced stylus support, including:
App displays customized cursors to indicate how and when users can interact with UI elements and content, for example:
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
|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:
|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. Check whether the app is fully functional in all window sizes, device orientations, and foldable device states. Resize the app window in each orientation. For foldable devices, fold and unfold the device in each orientation.
Open an app other than your Unity app. Go to the Recents screen. Select the app icon and put the app in split-screen mode. Open your Unity app, which should launch in split-screen mode beside or below the first app. Go to the Home screen to hide the pair of apps. Go to the Recents screen. Select the split-screen app pair that includes your Unity app. Verify that the Unity app resumes its activity and the app's layout in the split-screen window is correct with all UI elements accessible.
|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:
|Stylus||T3-10||LS-S1||Using a stylus, navigate through the app, select UI elements, scroll through lists and pickers, and generally interact with the app.|
Tier 2 — Large screen optimized
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, D‑pad, or other device that enables views to be focused. Verify that a visual indication of the focused state is apparent. 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
|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 and rearrange 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-S2||Draw and write within the app using a stylus. Erase drawings and writing using the stylus.|
|T1-16||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-17||LS-S4||Interact with the app using a stylus as follows:
|Custom cursors||T1-18||LS-P1||Interact with the app using a mouse and trackpad. Verify that custom cursors appear where appropriate, for example: