Get started with large screens

Large screens expand the user experience. The large screens of tablets, foldables, and Chrome OS devices accommodate detailed content, make multitasking and drag and drop more productive, and enable user interfaces not possible on small screens.

Design for all screen sizes

To support screens large and small, design responsive/adaptive layouts that provide an optimal user experience on devices of all kinds.

Start by familiarizing yourself with the following:

Window size classes

Window size classes are a set of opinionated viewport breakpoints that help you implement responsive/adaptive design. Use window size classes to categorize the display area available to your app as compact, medium, or expanded, then apply an optimized layout.

See Window size classes in Support different screen sizes.

Adaptive app navigation

On small screens, a bottom navigation bar works well, but on large screens a navigation rail or navigation drawer makes better use of the increased screen space. Adapt your app navigation to changes in screen size.

See Component adaptation in Large screen layouts.

Control configuration changes and continuity

Configuration changes such as device rotations, window size changes in multi-window mode, and folding or unfolding a foldable device can cause users to lose context—or even worse, data.

Make sure your app retains or restores its state during configuration changes and resumes ongoing processes such as media playback.

See the following:

Support multitasking

Large screens facilitate multitasking. Android devices enable multitasking through the following special display modes:

  • Multi-window
  • Picture-in-picture
  • Multi-instance

Multi-window mode

Enable your app to run in split-screen mode or free-form mode alongside other apps.

When your app is in multi-window mode, use the WindowMetrics API to accurately determine the size of the app window or the size of the device screen.

See Multi-window support.

Multi-resume

As of Android 10 (API level 29), unfocused activities remain in the RESUMED state when a device is in multi-window mode.

Ensure your app supports multi-resume by continuing ongoing processes such as media playback or file downloads when the app is not the top focused app. Your app must also handle the loss of exclusive resources such as cameras and microphones.

See Multi-window lifecycle in Multi-window support.

Picture-in-picture mode

If your app plays video content, implement picture-in-picture mode so your app can continue video playback while the user interacts with another app.

See Picture-in-picture (PiP) support.

Multi-instance mode

Run two or more instances of your app at the same time with multi-instance support.

See Multi-instance in Multi-window support.

Add drag and drop

Large screens provide plenty of space for drag and drop interactions—within an app or, on Android 7.0 (API level 24) and higher, between apps in multi-window mode.

Add drag and drop capabilities to your app with the Android drag and drop framework.

See Drag and drop.

Accept input from external devices

Users often connect an external keyboard to tablets. Chromebooks come with built-in keyboards and trackpads.

Enable your app to support external keyboards, mice, and trackpads. Include support for keyboard shortcuts and mouse and trackpad zoom and "right-click" capabilities.

See Input compatibility on large screens.

Accessibility

Build a better, more inclusive app by supporting accessibility (a11y) features such as Tab and arrow key keyboard navigation.

See Build more accessible apps.

Check camera preview

If your app includes a camera preview, check the preview for orientation and aspect ratio on large screens. Large screen foldables can have a landscape aspect ratio even though the device is in portrait orientation. Multi-window mode (which large screens facilitate) can display apps in portrait orientation in a resizable window when the device is landscape.

See the following:

Manage media projection

A media projection creates a virtual display based on the bounds of the real (source) display. The real display is the entire device screen, even if the device is in multi-window mode and the app creating the media projection is running in a window.

To get the correct bounds for your large screen media projection, use the WindowMetrics API introduced in Android 11 (API level 30) or, for compatibility down to API level 14, the Jetpack WindowManager WindowMetrics API.

See Media projection on large screens.

Extend your app with activity embedding

Take advantage of the extra display area of large screens with activity embedding. Convert your activity-based app to multi-pane layouts by creating an XML configuration file or by making Jetpack WindowManager API calls. Display the app's activities side by side or stacked to create what looks and feels like a whole new app.

See Activity embedding.

Build for foldables

Large screen foldable devices are like a phone and tablet in one. Folding features such as tabletop posture and book posture offer new user experience possibilities. Differentiate your app by supporting the unique features of foldable devices.

See the following:

Follow the quality guidelines

Large screen app quality guidelines have been developed to help you make your app the best it can be on large screens. The guidelines are a comprehensive set of quality requirements for most types of Android apps. Follow the guidelines to create an app that works great on phones, tablets, foldables, and Chrome OS devices.

See Large screen app quality.

Additional resources