opitpet.bsky.social
@opitpet.bsky.social
Reposted
Goodbye Mobile Only, Hello Adaptive: Three essential updates from 2025 for building adaptive apps
_Posted by Fahd Imtiaz – Product Manager, Android Developer_ _ _ _ _ ### Goodbye Mobile Only, Hello Adaptive: Three essential updates from 2025 for building adaptive apps In 2025 the Android ecosystem has grown far beyond the phone. Today, developers have the opportunity to reach over 500 million active devices, including foldables, tablets, XR, Chromebooks, and compatible cars. These aren't just additional screens; they represent a higher-value audience. We’ve seen that users who own both a phone and a tablet spend 9x more on apps and in-app purchases than those with just a phone. For foldable users, that average spend jumps to roughly 14x more*. This engagement signals a necessary shift in development: goodbye mobile apps, hello adaptive apps. To help you build for that future, we spent this year releasing tools that make adaptive the default way to build. Here are three key updates from 2025 designed to help you build these experiences. ### Standardizing adaptive behavior with Android 16 To support this shift, Android 16 introduced significant changes to how apps can restrict orientation and resizability. On displays of at least 600dp, manifest and runtime restrictions are ignored, meaning apps can no longer lock themselves to a specific orientation or size. Instead, they fill the entire display window, ensuring your UI scales seamlessly across portrait and landscape modes. Because this means your app context will change more frequently, it’s important to verify that you are preserving UI state during configuration changes. While Android 16 offers a temporary opt-out to help you manage this transition, Android 17 (SDK37) will make this behavior mandatory. To ensure your app behaves as expected under these new conditions, use the resizable emulator in Android Studio to test your adaptive layouts today. ### Supporting screens beyond the tablet with Jetpack WindowManager 1.5.0 As devices evolve, our existing definitions of "large" need to evolve with them. In October, we released Jetpack WindowManager 1.5.0 to better support the growing number of very large screens and desktop environments. On these surfaces, the standard "Expanded" layout, which usually fits two panes comfortably, often isn't enough. On a 27-inch monitor, two panes can look stretched and sparse, leaving valuable screen real estate unused. To solve this, WindowManager 1.5.0 introduced two new width window size classes: Large (1200dp to 1600dp) and Extra-large (1600dp+). These new breakpoints signal when to switch to high-density interfaces. Instead of stretching a typical list-detail view, you can take advantage of the width to show three or even four panes simultaneously.  Imagine an email client that comfortably displays your folders, the inbox list, the open message, and a calendar sidebar, all in a single view. Support for these window size classes was added to Compose Material 3 adaptive in the 1.2 release. ### Rethinking user journeys with Jetpack Navigation 3 Building a UI that morphs from a single phone screen to a multi-pane tablet layout used to require complex state management.  This often meant forcing a navigation graph designed for single destinations to handle simultaneous views. First announced at I/O 2025, Jetpack Navigation 3 is now stable, introducing a new approach to handling user journeys in adaptive apps. Built for Compose, Nav3 moves away from the monolithic graph structure. Instead, it provides decoupled building blocks that give you full control over your back stack and state. This solves the single source of truth challenge common in split-pane layouts. Because Nav3 uses the Scenes API, you can display multiple panes simultaneously without managing conflicting back stacks, simplifying the transition between compact and expanded views. ### A foundation for an adaptive future This year delivered the tools you need, from optimizing for expansive  layouts to the granular controls of WindowManager and Navigation 3. And, Android 16 began the shift toward truly flexible UI, with updates coming next year to deliver excellent adaptive experiences across all form factors. To learn more about adaptive development principles and get started, head over to d.android.com/adaptive-apps. The tools are ready, and the users are waiting. We can’t wait to see what you build! *Source: internal Google data
android-developers.googleblog.com
December 20, 2025 at 12:27 AM
Reposted
Using those sweet drop shadows for a glowy slider, with some extra interactivity when it's at 100% ✨

www.sinasamaki.com/glow-slider/
November 25, 2025 at 11:00 PM
Reposted
Published a new article, 'RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose'.

You’ll explore RemoteCompose, understand its core architecture, and discover the benefits it brings to dynamic screen design with Jetpack Compose.

skydoves.medium.com/remotecompos...
RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose
Building dynamic user interfaces has long been a fundamental challenge in Android development. The traditional approach requires…
skydoves.medium.com
November 29, 2025 at 12:13 PM
Reposted
New blog post on how to render beautiful soft shadows projected by the user's finger with Jetpack Compose.

www.romainguy.dev/posts/2025/f...
November 29, 2025 at 11:15 PM
Reposted
🚨 New video alert!! Learn all about how to combine Shared elements with Shape morphing in this #ComposeTip

www.youtube.com/watch?v=0moE...
Advanced shared elements with shape morphing | Jetpack Compose Tips
YouTube video by Android Developers
www.youtube.com
August 14, 2025 at 4:04 PM
Reposted
There were a lot of other releases today including Compose Material3 1.4.0-beta01, Paging 3.4.0-alpha02, and new Wear releases as well, so make sure to read all of the release notes for the details.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
July 30, 2025 at 11:22 PM
Reposted
Remember the marble diagrams used to explain RxJava?

My brilliant colleague Kostya 🧙‍♂️ has made an interactive explainer for Kotlin Flows to match!

Find the magic here: terrakok.github.io/FlowMarbles/
July 16, 2025 at 3:34 PM
Reposted
Did you know... Android Studio has introduced resizable previews for Compose previews? Allowing you to test your layouts across the spectrum of device sizes easily inside Android Studio. 💻

developer.android.com/studio/previ...
July 7, 2025 at 9:59 AM
Reposted
Compose 1.9 just hit beta01 & another exciting feature landing is a way to reliably determine if something is visible on screen & a way to get notified of visibility changes 📣

💅 New modifiers are entering the chat in this space: Modifier.onFirstVisible() & Modifier.onVisibilityChanged().
June 24, 2025 at 9:22 AM
Reposted
Resilient Web Design
By Jeremy Keith
resilientwebdesign.com
June 19, 2025 at 5:59 PM
Reposted
Currently writing the next post: how to animate text along a path on a canvas 🖌️
June 11, 2025 at 9:32 PM
Reposted
Tried to rebuild the Android 16 notification glue/magnet/expressive thingy. Next are the corner sizes.
#androiddev #jetpackcompose
June 9, 2025 at 9:40 AM
Reposted
How to wrap a ribbon around your button ✨

🌀 draw a spiral path with similar dimensions
✂️ cut the path into two sections
✏️ draw one section above, and the other below your button
...
💸 profit
June 2, 2025 at 7:31 PM
Reposted
✨ New article showing how to create a #JetpackCompose modifier that wraps buttons with fancy ribbons.

This can be used to make that important action in your app feel much more special.

www.sinasamaki.com/wrapping-a-f...
May 31, 2025 at 4:48 PM
Reposted
✨ New UI Recipe

Create a loading animation using polar coordinates to plot a rose curve
May 27, 2025 at 5:20 PM
Reposted
🌀🎉springy paths wrapped around ui elements
May 27, 2025 at 9:55 PM
Reposted
Our #IO25 talk on how to build more accessible apps with Compose is out! 🥳 Lots of tips on choosing appropriate semantics, merging, clearing & hiding, inspection & debug, accessibility checks in tests 🫶

Check it out ☺️
www.youtube.com/watch?v=80qk...
Build more accessible UIs with Jetpack Compose
YouTube video by Android Developers
www.youtube.com
May 23, 2025 at 8:46 AM
Reposted
🥳 Excited to share our latest blog post on Material 3 Expressive Motion Theming!

🤿 Dive into how the new physics-based system brings interactions and transitions to life.

Read it here: m3.material.io/blog/m3-expr...

#AndroidDev
May 22, 2025 at 11:19 PM
Reposted
Hey, I just uploaded jetc.dev Newsletter Issue #266! Google IO 2025! KotlinConf 2025! Compose and Compose Multiplatform updates! Motion physics in Material3 Expressive! jetc.dev/issues/266 #JetpackCompose #AndroidDev
May 27, 2025 at 12:53 PM
Reposted
We can also measure paths to get positions and rotation at any point along it. This comes in handy with animating an object along the path.
May 19, 2025 at 6:31 PM
Reposted
✨🎬 New video on creating delightful path animations in #JetpackCompose

youtu.be/20b_bshZo84
#AndroidDev #Kotlin #ComposeMultiplatform
May 19, 2025 at 6:31 PM
Reposted
Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...
Announcing Jetpack Navigation 3
Explore Jetpack Navigation 3, a new Compose-first navigation library with increased flexibility so Android developers to build robust experiences.
android-developers.googleblog.com
May 20, 2025 at 6:05 PM
Reposted
I've been getting a number of questions on how I make my videos.

All the animations are made using Jetpack Compose and the code is open source -> github.com/sinasamaki/C...

Feel free to dive into my spaghetti 🍝
May 20, 2025 at 6:51 PM
Reposted
Android Developers Blog: 16 things to know for Android developers at Google I/O 2025 android-developers.googleblog.com/2025/05/16-t... via @google
16 things to know for Android developers at Google I/O 2025
Google I/O '25 features 16 key announcements for Android developers, including AI integration, enhancements to design, camera and media, and more.
android-developers.googleblog.com
May 20, 2025 at 7:11 PM
Reposted
New blog post! In this post I explain some of the techniques used to eliminate unnecessary array bounds checks when writing Kotlin code.

www.romainguy.dev/posts/2025/e...
Eliminating Array Bounds Checks
The Android Runtime (ART) offers a nice memory safety feature when accessing the content of an array. The indices you use are automatically checked against the bounds of the array to prevent unsafe me...
www.romainguy.dev
May 13, 2025 at 9:36 PM