By Dave Burke, VICE President of Engineering
Android is now available on more than 250 million large-screen devices, including tablets, foldable devices and ChromeOS devices. In the past 12 months alone, nearly 100 million new Android tablets have been activated, up 20% from a year ago; ChromeOS grew 92 percent, making it the fastest growing desktop platform. Foldable devices are on the rise, up over 265% year on year! In all, Android is currently on more than 250 million active large-screen devices. With this momentum, we will continue to work hard to make Android an even better operating system for users and developers alike.
That’s why, at the recent Android Developer Summit, we announced an update to Android 12L features specifically designed for the larger screen, along with new apis, tools and guidelines to make it easier for developers to build apps for the larger screen. We also covered upcoming changes to Google Play to make it easier for users to find apps that work on the big screen. Read on to find out what’s new with Android support for larger screen devices!
Android 12L Preview: Feature updates for the big screen
We’ve brought you the Android 12L Developer Preview, which is a new feature we’re about to introduce that makes Android 12 even better on larger screen devices. In this preview, you can try out new big-screen features, optimize your app, and share feedback with us.
In Android 12L, we optimized the UI for larger screen devices, including notifications, shortcut Settings, lock screens, overview, home screens, and more. For example, for screens above 600DP width, the notification bar, lock screen, and other system surfaces will have a new two-column layout to take full advantage of the screen area. At the same time, the system application has also been optimized.
A two-column layout shows more content and is easier to use
We’re also bringing more powerful and intuitive multitasking: Android 12L adds a new taskbar to larger screen devices, allowing users to switch to their favorite apps whenever they want. The new taskbar also makes split-screen mode easier: Just drag and drop in the taskbar to run apps in split-screen mode. To make the split screen experience even better in Android 12 and beyond, we’re helping users to have all apps automatically go into split screen mode when they start up, whether they’re declared resizable or not.
Drag and drop the app to use split screen mode
Finally, we improved the visual and stability aspects of compatibility mode to give users a better widescreen display, and optimized the display of apps by default. Device manufacturers can easily customize the color or processing scheme of the widescreen display, adjust the position of the edge lining window, apply custom rounded corners, and more.
We plan to release an Android 12L feature update early next year, setting the stage for the next wave of Android 12 tablets and foldable devices. We have worked with our original equipment manufacturer (OEM) partners to introduce these features in their larger screen devices. Stay tuned for the upcoming Android 12L developer preview on Lenovo P12 Pro. All of these features will be coming to these devices in the coming months, making it a great time to optimize apps for larger screens.
We strongly encourage you to look at how your app works in split-screen mode of all window sizes. If you haven’t already optimized your app, see how it looks in landscape and portrait mode, and experience the new changes in compatibility mode if appropriate. In addition to support for larger screen devices, Android 12L also offers some new apis for developers, as well as a new API version number. We are always careful with updates to avoid any disruptive changes to your app, so we do not require your app to be targeted for Android 12L to meet Google Play requirements.
To get started with Android 12L, you can download the 12L Android Emulator system image and tools from the latest preview of Android Studio. See features and changes to see what areas of your application need to be tested, as well as the preview release overview for schedule and release details. You can send us your questions and requirements, and as always, we appreciate your feedback!
Android 12L is also available on phones, but most of the new features won’t be available on smaller screens, so for now we’re focusing on tablets, foldable devices, and ChromeOS devices. In a later preview, we plan to open up Android beta sign-ups for Pixel devices. You can visit the official documentation for details.
Easier to build for larger screen devices
Now is the time to start designing fully adaptive apps that can fit on any screen, and we’re working to make that process easier for you. To help you get used to these changes in the operating system and Google Play, we are releasing not only a developer preview, but also updates to our apis, tools and guidelines.
Large screen mode was always considered in the design process
The first step in supporting an adaptive UI is to optimize your application so that it performs well on both small and large screens. We’ve been working on new Material Design guidelines to help your app’s UI adapt to various screens. This guide covers common layout patterns in ecosystems to help motivate and jump-start your work:
Adaptive UI patterns in the Material Design Guide
Build a responsive UI with new navigation components
To provide the user with the best navigation experience, you should provide a navigation interface tailored to the user’s device window size class. Recommended navigation modes include navigation for compact screens, as well as navigation for medium screen width device classes and larger screen devices (above 600DP). For devices with wider screens, our newly released Material Design guide offers several options for large screen layouts, such as using SlidingPaneLayout for list/detail structures. You can check out the guide to see how to implement responsive UI navigation in View and Compose.
For existing apps that already use fragments, while updating navigation modes and using SlidingPaneLayout are good ways to optimize the layout for larger screen devices, we know that there are many apps based on multiple activities. For these applications, the new Activity Embedding API released in Jetpack WindowManager 1.0 Beta 03 makes it easier to support new UI paradigms such as TwoPane views. We’re working on updating SlidingPaneLayout to support these apis, so stay tuned for updates in the coming months.
Make it easier to adapt to screen changes with Compose
Jetpack Compose makes it easier to build for large screens and diverse layouts. If you’re going to adopt Compose, this is also a good time to optimize for larger screens.
Compose is a declarative UI toolkit; All the UI is described in code, and the toolkit makes it easy to determine at run time how the UI should fit into the available sizes. For that reason, Compose is particularly well suited for developing adaptive UIs because of its ability to easily handle UI changes across different screen sizes or components. Check out the guide to building an adaptive layout in Compose for the basics you need to know.
Build responsive UIs using the Windows Manager API
The Jetpack Windows Manager library takes a backward compatible approach to handling Windows in your application and builds responsive UIs for all devices. Here are the latest updates:
Activity embedding
Activity embedding helps you display multiple activities at once, such as list-detail mode, with little application refactoring, taking advantage of the extra display area on a large screen. You can create an XML configuration file or call the Jetpack WindowManager API to determine whether an application displays its activities side-by-side or stacked. The system takes care of the rest and determines the presentation based on the configuration you create.
The Activity embedding runs smoothly on a collapsible device, easily stacking and separating activities as the device is folded and unfolded. If your application uses multiple activities, Activity embedding can improve your experience when using large-screen devices. Try the Activity Embedding API in Jetpack WindowManager 1.0 Beta 03 and later. You can visit the official documentation for details.
△ Activity embedding in Jetpack WindowManager
Use the window size class to help detect the size of your window
Window Size Classes are a set of Window Size judgments that help you design, develop, and test resizable application UIs. Window sizes fall into three categories: Compat, Medium and Expanded. This type of breakpoint is designed to balance the simplicity and flexibility of the layout to optimize your application in special cases, while being representative of the majority of devices in the ecosystem. The WindowSizeClass API is coming soon in Jetpack WindowManager 1.1 to help you build responsive UIs more easily. You can visit the official documentation for details.
△ Window size class in Jetpack WindowManager
Make your application aware of folding
WindowManager also provides a common API for different window features, such as folds and hinges. If your application is fold-aware, you can adjust the content in the window to avoid being obscured by the fold and hinge area, or you can take advantage of the fold and hinge and use them as natural separators. You can see the technical guide for how to make your application fold-aware.
Build and test big-screen applications in Android Studio
Refer to the equipment
Android apps should be built to support and adapt to all devices and categories, so we’ve introduced reference devices in many of the tools in Android Studio where you can design, develop, and test UI and layout. The four reference devices represent mobile phones, large foldable devices with built-in displays, tablets and desktops. We designed these devices after analyzing market data to represent popular devices or fast-growing market segments. These devices can also help you use the new WindowSizeClass classification to ensure that your application runs between common breakpoint combinations, covering as many usage cases as possible for your device.
△ Refer to equipment definition
Layout verification
When tweaking a big-screen UI, if you’re not sure where to start, you can start by using new tools to uncover potential problems that might affect big-screen devices. We are working on a new visual Lint tool in Android Studio Chipmunk to proactively display UI alerts and suggestions during layout validation, including which reference devices will be affected.
△ Refer to the layout validation tool in the device class
Adjustable size simulator
If you need to test your application at run time, you can use the new resizable emulator configuration that comes with Android Studio Chipmunk. The resizable emulator helps you quickly switch between four reference devices (phone, foldable device, tablet, and desktop). This makes it easier to validate the layout at design time and the behavior at test run, both using the same reference device. To create a new, resizable emulator, use the Device Manager in Android Studio to create a new virtual device and select the resizable device definition with the Android 12L (Sv2) system image.
△ Resizable Android emulator
Google Play updates for larger screen devices
To provide a better app experience on tablets, foldable devices, and ChromeOS devices, we’re updating Google Play to highlight apps that have been optimized for users’ devices.
We added new checks and evaluated the quality of each app according to our big-screen app quality guidelines to ensure we were highlighting the most appropriate apps on these devices. For apps that aren’t optimized for the larger screen, we’ll start sending notifications on the app’s Play Store list page to alert users of big-screen devices.
As announced earlier this year, we’re also introducing big-screen device-specific app ratings, which will allow users to rate how well your app performs on big-screen devices. These changes are coming next year, so we’re giving you advance notice so you can prepare for the application!
In addition, you can also read this article to learn how we can meet the needs of developers with better business models.
For more details
To help you build for large screens and foldable devices, whether you’re using View or Compose, we’re here to help you! We’re coming out with a new guide that shows you how to support different screen sizes in new and existing apps, how to navigate for View and Compose, and how to take advantage of foldable devices. See the Large-screen guide for support for Views and the Compose guide.
The code is the most convincing, and we’ve updated the following example to support a responsive UI:
- Google I/O Android app
- Trackr
- Jetnews
- Jetcaster (desktop device support)
For some concrete practices, you can check out our updated Codelab: Support for foldable and dual-screen devices with Jetpack WindowManager.
Stay tuned for more updates. You are also welcome to click here to submit your feedback to us, or share your favorite content or questions. Your feedback is very important to us, thank you for your support!