compose material3 adaptive

Use the Material 3 adaptive library to create adaptive UIs that will adapt themselves automatically according to the current window configurations like window size classes or device postures. The library provides both default scaffold implementations and necessary building block composables to create your own custom experiences.
Latest Update Stable Release Release Candidate Beta Release Alpha Release
June 26, 2024 - - 1.0.0-beta04 -

Declaring dependencies

To add a dependency on compose, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:


dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.0.0-beta04"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.0.0-beta04"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-beta04"


dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.0.0-beta04"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-beta04"

For more information about dependencies, see Add build dependencies.


Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Compose Material3 Adaptive Version 1.0

Version 1.0.0-beta04

June 26, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 is released. Version 1.0.0-beta04 contains these commits.

Bug Fixes

  • Fixes the issue that when hinge bounds get updated, the layout is not updated accordingly. (71e9cf1)

Version 1.0.0-beta03

June 12, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits.

Bug Fixes

  • Fixes crashes caused by incorrect dependency resolution in beta02.

Version 1.0.0-beta02

May 29, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits.

Version 1.0.0-beta01

May 14, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

Version 1.0.0-alpha12

May 1, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits.

API Changes

  • Add isFlat info to HingeInfo (Ie0516, b/333784198)
  • Make adaptive APIs non-experimental (I1d038)
  • Make adaptive layout APIs non-experimental (Id23df)
  • Changed BackNavigationBehavior from an enum to a value class (Id8757)

Bug Fixes

  • Change transition fraction to a lambda (I6f5a9)
  • Fix the initial state issue of SizeTracker (18326a9)
  • Include hinge list in Posture equality check (6687137)

Version 1.0.0-alpha11

April 17, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

API Changes

  • Make scope interfaces sealed. (Iefa57)
  • Introduce AnimatedPaneScope. (I62d73, b/332750742)
  • Make AdaptStrategy sealed and stable. (Ia28b2)
  • Introduce a copy method of PaneScaffoldDirective. (I9291f)
  • Mark ThreePaneScaffoldScope as experimental. (I9d527)
  • Provide easy-to-use scaffold APIs that supports navigation. (I263f0, b/321010778)

Version 1.0.0-alpha10

April 3, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

API Changes

  • Make default preferred width adaptive and customizable. (Ic3abc)
  • Rename scaffold directive calculation functions. (I10855)
  • Remove paddings and insets from scaffold APIs. (I786f8)
  • Add navigator remember methods without generic types. (I607c3)

Version 1.0.0-alpha09

March 20, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.

API Changes

  • Add state transition fields to ThreePaneScaffoldScope. (I3d917)
  • Reorder scaffold parameters. (I4dff5)
  • Provide default value of AnimatedPane modifier parameter. (I77dd7)

Bug Fixes

  • Include spacer size into pane motions. (a3174ca)

Version 1.0.0-alpha08

March 6, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

New Features

  • Implement delayed sliding in when switching panes. (I1a38e)

API Changes

  • Removed the ThreePaneScaffoldState interface. (I63f23)

Version 1.0.0-alpha07

February 21, 2024