• Google Play • Android 16 • Ignore orientation, resizability, and aspect ratio restrictions • Connected displays Why build adaptive UIs? Link: h tt ps://developer.android.com/about/versions/16/behavior-changes-16#adaptive-layouts
= metrics.bounds.width() val height = metrics.bounds.height() val density = resources.displayMetrics.density val windowSizeClass = WindowSizeClass.compute(width/density, height/density) // COMPACT, MEDIUM, or EXPANDED val widthWindowSizeClass = windowSizeClass.windowWidthSizeClass // COMPACT, MEDIUM, or EXPANDED val heightWindowSizeClass = windowSizeClass.windowHeightSizeClass // Use widthWindowSizeClass and heightWindowSizeClass. }
layout decisions. Canonical Layouts Proven, versatile layouts that provide an optimal user experience on different form factors. Adaptive apps Don’t reinvent the wheel! Leverage Jetpack libraries like Compose Material Adaptive.
apps and form factors: goo.gle/io25-androiddevs-yt • 📱 Adaptive Android development makes your app shine across devices • 🖊 Unlock user productivity with desktop windowing and stylus support • 🕶 Building differentiated apps for Android XR with 3D content • 📺 Engage users on Google TV with excellent TV apps • 🚗 New in-car app experiences Codelabs: Adaptive apps Samples: android/adaptive-apps-samples