The large screens of tablets, foldables, and Chrome OS devices offer you the opportunity to display detailed content, enable multitasking, and create unique experiences not possible on devices that have small screens.
Because Android devices come in all shapes and sizes, design your app with responsive and adaptive layouts that accommodate whatever device your app might encounter. Don't define layouts with static dimensions that assume a certain screen size, aspect ratio, or orientation.
Start by familiarizing yourself with the following guidelines:
State transitions
Your app's window can change size while the app is being used. For example, the app could be running on a Chrome OS device that allows multiple apps to run in windows whose dimensions can dynamically change. Or your app could be running on a foldable device that allows different folded postures.
- Multi-window support describes how to support your app in split-screen and picture-in-picture modes
- The Jetpack WindowManager library
and the
WindowMetrics
API help you lay out your content - Design your apps for foldables shows you how to support foldable devices
Free-form multi-window and input device actions
Some user actions require your app to respond to dynamically changing states, such as window resizing and mouse tracking.
- Window management for Chrome OS explains how to handle multiple windows
- Input compatibility for Chromebooks provides advice on supporting mouse and trackpad input
Additional resources
For hands-on development resources for large screens, check out the following:
Samples
- Jetnews: Responsive UI implementation with Compose
- Jetcaster: Tabletop support implementation with Compose
- Google I/O Android App: Responsive UI implementation with Views
- Trackr: Responsive UI implementation with Views
Codelab
Support foldable and dual-screen devices with Jetpack WindowManager