Compose Material 3 Adaptive

  
Usa la biblioteca adaptable de Material 3 para crear IU adaptables que se ajusten automáticamente según las configuraciones actuales de la ventana, como las clases de tamaño de ventana o las posturas del dispositivo. La biblioteca proporciona implementaciones de andamios predeterminadas y elementos componibles necesarios para crear tus propias experiencias personalizadas.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
2 de julio de 2025 1.1.0 - - 1.2.0-alpha08

Cómo declarar dependencias

Para agregar una dependencia en Compose, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Compose Material3 Adaptive, versión 1.2

Versión 1.2.0-alpha08

2 de julio de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha08. La versión 1.2.0-alpha08 contiene estas confirmaciones.

Versión 1.2.0-alpha07

18 de junio de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha07. La versión 1.2.0-alpha07 contiene estas confirmaciones.

Cambios en la API

  • Haz que la función currentWindowAdaptiveInfo() admita clases de tamaño de ancho de ventana grandes y extragrandes, y promueve las funciones calculatePosture() y currentWindowDpSize() a estables. (I92e97)

Versión 1.2.0-alpha06

20 de mayo de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha06. La versión 1.2.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Las funciones de cálculo de la directiva de andamiaje del panel predeterminado ahora admiten las clases de tamaño de ancho de ventana L y XL.

Cambios en la API

  • Haz que Modifier.paneExpansionDraggable proporcione semántica de accesibilidad predeterminada y promueve las APIs pertinentes a estables. (Idb818)
  • Se agregó compatibilidad con la función de arrastrar para cambiar el tamaño de los paneles flotantes (Idadd3).
  • Se agregaron scrims de soporte para paneles elevados (I9b091).

Versión 1.2.0-alpha05

7 de mayo de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Los diseños adaptativos de Material 3 ahora admiten estrategias de adaptación elevadas que pueden convertir un panel en una ventana emergente flotante.

Cambios en la API

  • Hacer que las funciones de tamaño de ventana actual admitan varias plataformas (Ie4172)
  • Se introdujeron movimientos de paneles para los paneles levitados (Ic9dc3).
  • Se introduce la estrategia de levitación para la adaptación (I1ba7c).

Correcciones de errores

  • Corrige el uso del alcance de corrutina en muestras adaptativas (7631016)

Versión 1.2.0-alpha04

23 de abril de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Las estrategias de reajuste ahora están disponibles con ListDetailPaneScaffold y SupportingPaneScaffold, que reajustan el panel asociado en un parámetro de configuración de diseño de panel único.

Cambios en la API

  • Se agregó un objeto de retención de estado guardable a PaneScaffoldScope (Id9299).
  • Se introdujo una estrategia de reajuste para la adaptación (I75c6a).

Correcciones de errores

  • Se corrigió el error por el que los paneles no se animaban en la primera transición. (Ib0415)
  • Se corrigió un problema por el que no funcionaban las alturas preferidas. (I1913b)
  • Se corrigió el error por el que la directiva de andamiaje no se actualizaba correctamente. (0403ab)

Versión 1.2.0-alpha03

9 de abril de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.

Correcciones de errores

  • ​​Se corrigió el problema por el que el controlador de arrastre se mostraba de forma incorrecta en el diseño de un solo panel. (806e443 )

Actualizaciones de dependencias

  • Esta biblioteca ahora tiene como objetivo el nivel de lenguaje Kotlin 2.0 y requiere KGP 2.0.0 o una versión posterior. (Idb6b5)

Versión 1.2.0-alpha02

26 de marzo de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Versión 1.2.0-alpha01

12 de marzo de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se introduce el modificador PaneScaffoldScope.preferredHeight para que los desarrolladores proporcionen las alturas preferidas del panel que se aplicarán con las nuevas estrategias de adaptación que presentaremos. (I957dd, b/220960090)
  • Se cambió el nombre de los tipos ComponentOverride a Override y de los tipos ComponentOverrideContext a OverrideScope. (Id973c)
  • Se cambiaron los nombres de algunos métodos de anulación de componentes. (I222b3)

Compose Material3 Adaptive versión 1.1

Versión 1.1.0

12 de marzo de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde 1.0.0

Versión 1.1.0-rc01

26 de febrero de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Inhabilita el ajuste de escala de atrás predictivo del andamio de tres paneles (ab6fd0b).

Versión 1.1.0-beta02

12 de febrero de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02. La versión 1.1.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • Se cambió la forma en que se establece isPredictiveBackInProgress en las funciones de animación MutableThreePaneScaffoldState para preservar la coherencia del estado. (Idc97f)

Correcciones de errores

  • El comportamiento predeterminado de NavigableListDetailPaneScaffold y NavigableSupportingPaneScaffold al presionar el botón Atrás se cambió a PopUntilScaffoldValueChange para mantener la coherencia con el resto de la biblioteca. (I873f0)
  • Establece el orden de recorrido de accesibilidad correcto de los andamios del panel. (67d030)
  • Se corrigió el problema por el que no se guardaban los estados del contenido del panel. (88b0ff)
  • Admite acciones de accesibilidad alternativas en lugar de arrastrar. (28266d)
  • Anuncia la división del panel actual después de que se cambie. (0c3a80)

Versión 1.1.0-beta01

29 de enero de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se introducen funciones de fábrica para crear anclajes de expansión del panel del tipo de desplazamiento desde el inicio y el final, respectivamente. (I2eb21)
  • Se selló la interfaz PaneMotion y se quitaron sus métodos de transición predeterminados. (Ifc4c7)
  • Se introdujeron APIs para obtener el ancla actual y animar hacia un ancla. (Icf95d)
  • Se introdujeron APIs de accesibilidad para la expansión de paneles (Icc669).
  • Cambia el tipo de PaneScaffoldParentData.preferredWidth a DP. (Id98ee)

Versión 1.1.0-alpha09

15 de enero de 2025

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09. La versión 1.1.0-alpha09 contiene estas confirmaciones.

Cambios en la API

  • Se agregó y se usa la nueva anotación experimental ExperimentalMaterial3AdaptiveComponentOverrideApi. (Id45aa)
  • Ocultar ThreePaneScaffoldHorizontalOrder.toLtrOrder (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler se hizo público. (I1a995, b/370543873)
  • Se agregó la propiedad isPredictiveBackInProgress a ThreePaneScaffoldState. (I1a995, b/370543873)
  • Crea un mecanismo de anulación para AnimatedPane que admita implementaciones de carga lateral para diferentes factores de forma. (Id7622)

Correcciones de errores

  • Se solucionó el problema que se producía cuando la dirección de asentamiento no tenía anclajes. (df8257d)

Versión 1.1.0-alpha08

12 de diciembre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08. La versión 1.1.0-alpha08 contiene estas confirmaciones.

Cambios en la API

  • Se introdujo la función currentWindowDpSize. (I99125, b/296300441)
  • Se expusieron PaneScaffoldParentData y ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7).
  • Quita PaneScaffoldMotionScope y conviértelo en un campo debajo de PaneScaffoldTransitionScope. También se cambió el nombre a PaneScaffoldMotionDataProvider y se quitó el acceso a la estructura de datos subyacente de PaneMotionData. En su lugar, se proporcionan métodos de obtención y bucle para acceder a los datos. (Id8884)
  • Crea un mecanismo de anulación para ThreePaneScaffold que admita implementaciones de carga lateral para diferentes factores de forma. (I5280f)
  • El estado de expansión del panel ahora es nulo de forma predeterminada (Ia65f8, b/376394520).

Versión 1.1.0-alpha07

13 de noviembre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07. La versión 1.1.0-alpha07 contiene estas confirmaciones.

Cambios en la API

  • Se quitó la implementación del controlador de arrastre en la biblioteca adaptable y se recomienda a los usuarios que utilicen la versión M3. Al mismo tiempo, se introduce un modificador para proporcionar la capacidad de arrastrar la expansión del panel a un elemento componible de controlador de arrastre proporcionado. También oculta DraggableState como un detalle de implementación para que podamos cambiarlo más adelante si es necesario. (Ib50cd)
  • Se mueve el punto de entrada de la personalización del movimiento del panel de las funciones de scaffold a AnimatedPane según los comentarios de UXR. (I10f72)
  • Se introdujo la compatibilidad con el gesto de deslizar y la especificación de animación personalizada para la expansión del panel. (Ie207d, b/362584341)

Correcciones de errores

  • Se corrigieron problemas de atrás predictivo en la cancelación. (36a3e0a), (b/369899645)

Versión 1.1.0-alpha06

30 de octubre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Cambios en la API

  • Se agregó FloatRange a PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • Cambia el tipo de parámetros del navegador a tipos genéricos en scaffolds navegables. (I1da6e)

Versión 1.1.0-alpha05

16 de octubre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Cambios en la API

  • Se introdujo la clase de especificaciones de animación para garantizar un comportamiento de movimiento más coherente y una mayor capacidad de expansión en el futuro. (I2d3cc)
  • Proporciona el tipo de movimiento y cambia el nombre de currentXXXXX en PaneMotionData a originXXXX. (I7c61a)

Versión 1.1.0-alpha04

2 de octubre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con el gesto atrás predictivo a NavigableListDetailPaneScaffold y NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Cambios en la API

  • Se agregó ThreePaneScaffoldState a ThreePaneScaffoldNavigator Los métodos de navegación se hicieron suspend para admitir la navegación con animación. Se agregó seekBack para admitir estados de navegación parciales (p.ej., atrás predictivo). (I5a651, b/359616816)
  • Se agregó MutableThreePaneScaffoldState para controlar la transición entre los valores de andamio. El ThreePaneScaffoldState existente se configuró como de solo lectura. (Idb3c6)
  • Se exponen las implementaciones de movimiento del panel predeterminado (I95a7b).
  • Se habilitó la configuración del anclaje inicial del estado de expansión del panel (Ie41b3, b/362350560).

Correcciones de errores

  • Se aplicó el tamaño mínimo de destino táctil de 48 × 48 dp del controlador de arrastre (7ce6635, b/366018217).
  • Se restablece la posición anclada después de los cambios de configuración (3c9fc6b, b/362353672).

Versión 1.1.0-alpha03

18 de septiembre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Versión 1.1.0-alpha02

4 de septiembre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • La personalización de movimiento (I0bf9c), (I80e66) es compatible con los creadores para cambiar los movimientos predeterminados durante los cambios de estado del andamio adaptable. Los creadores pueden elegir entre un conjunto de transiciones de entrada y salida predeterminadas, o bien implementar transiciones personalizadas puras con la información proporcionada a través de los nuevos alcances de movimiento.
  • Se implementó la animación de atenuación de los controladores de arrastre para expandir el panel (46e3c69).
  • Se hizo que el PaneExpansionState recordado se pueda guardar (61ff76f).

Cambios en la API

  • Se agregaron APIs de expansión de paneles faltantes a los elementos visuales básicos (Ic5bc0).
  • Se cambió el nombre de ThreePaneScaffoldDestinationItem.content por contentKey. Los argumentos de tipo predeterminados de rememberListDetailPaneScaffoldNavigator y rememberSupportingPaneScaffoldNavigator cambiaron de Nothing a Any. (I58749)
  • Se marcó ThreePaneScaffoldState como estable (I64aec).
  • Se establecieron parámetros de identificador de arrastre con alcance (Ic0aa2).

Versión 1.1.0-alpha01

21 de agosto de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con la expansión del panel de los scaffolds adaptables.

Cambios en la API

  • Se introdujeron APIs de expansión de paneles al público (I301d6).
  • Se introdujo ThreePaneScaffoldState para controlar las transiciones de valores del panel. Se agregaron sobrecargas de ListDetailPaneScaffold y SupportingPaneScaffold que aceptan este estado. (I5db3b)
  • Se introdujo la clave de expansión del panel y la interfaz del proveedor de claves (Id621f).

Correcciones de errores

  • Se corrigió el cálculo incorrecto de la partición cuando hay una bisagra excluida. (9dfd483)

Compose Material3 Adaptive versión 1.0

Versión 1.0.0

4 de septiembre de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Versión 1.0.0-rc01

21 de agosto de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el cálculo incorrecto de la partición cuando hay una bisagra excluida. (9dfd483)

Versión 1.0.0-beta04

26 de junio de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04. La versión 1.0.0-beta04 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el problema por el que, cuando se actualizaban los límites de la bisagra, el diseño no se actualizaba según correspondía. (71e9cf1)

Versión 1.0.0-beta03

12 de junio de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigieron las fallas causadas por la resolución incorrecta de dependencias en la versión beta02.

Versión 1.0.0-beta02

29 de mayo de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Versión 1.0.0-beta01

14 de mayo de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Versión 1.0.0-alpha12

1 de mayo de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Cambios en la API

  • Se agregó información de isFlat a HingeInfo (Ie0516, b/333784198).
  • Las APIs adaptativas ya no son experimentales (I1d038).
  • Las APIs de diseño adaptable ya no son experimentales (Id23df).
  • Se cambió BackNavigationBehavior de una enumeración a una clase de valor (Id8757)

Correcciones de errores

  • Cambia la fracción de transición a una lambda (I6f5a9).
  • Se corrigió el problema del estado inicial de SizeTracker (18326a9).
  • Incluye la lista de bisagras en la verificación de igualdad de Posture (6687137).

Versión 1.0.0-alpha11

17 de abril de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Cambios en la API

  • Haz que las interfaces de alcance sean selladas. (Iefa57)
  • Se introdujo AnimatedPaneScope. (I62d73, b/332750742)
  • Haz que AdaptStrategy sea sellado y estable. (Ia28b2)
  • Se introduce un método de copia de PaneScaffoldDirective. (I9291f)
  • Se marcó ThreePaneScaffoldScope como experimental. (I9d527)
  • Proporciona APIs de andamiaje fáciles de usar que admitan la navegación. (I263f0, b/321010778)

Versión 1.0.0-alpha10

3 de abril de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Cambios en la API

  • Haz que el ancho preferido predeterminado sea adaptable y personalizable. (Ic3abc)
  • Se cambió el nombre de las funciones de cálculo de la directiva de andamio. (I10855)
  • Se quitaron los rellenos y las inserciones de las APIs de andamiaje. (I786f8)
  • Se agregaron métodos de recordar el navegador sin tipos genéricos. (I607c3)

Versión 1.0.0-alpha09

20 de marzo de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Cambios en la API

  • Agrega campos de transición de estado a ThreePaneScaffoldScope. (I3d917)
  • Se reordenaron los parámetros del andamio. (I4dff5)
  • Proporciona el valor predeterminado del parámetro del modificador AnimatedPane. (I77dd7)

Correcciones de errores

  • Incluye el tamaño del separador en los movimientos del panel. (a3174ca)

Versión 1.0.0-alpha08

6 de marzo de 2024

Lanzamiento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

  • Implementa el deslizamiento retrasado cuando se cambian los paneles. (I1a38e)

Cambios en la API

  • Se quitó la interfaz ThreePaneScaffoldState. (I63f23)

Versión 1.0.0-alpha07

21 de febrero de 2024