Compose Material 3

Compila las IU de Jetpack Compose con componentes de Material Design 3, la siguiente evolución de Material Design. Material 3 incluye temas y componentes actualizados, y funciones de personalización de Material You, como el color dinámico. Además, se diseñó para ser coherente con el nuevo estilo visual y la IU del sistema de Android 12.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
12 de diciembre de 2024 1.3.1 - - 1.4.0-alpha05

Estructura

Compose es una combinación de siete IDs de grupos de Maven en androidx. Cada grupo contiene un subconjunto de funcionalidades objetivo, cada uno con su propio conjunto de notas de la versión.

En esta tabla, se explican los grupos y vínculos correspondientes a cada conjunto de notas de la versión.

GrupoDescripción
compose.animationCompila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario.
compose.compilerTransforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin.
compose.foundationEscribe aplicaciones de Jetpack Compose con componentes fundamentales listos para usar y extiende la base para compilar tus propias piezas de sistema de diseño.
compose.materialCompila las IUs de Jetpack Compose con componentes de Material Design listos para usar. Este es el punto de entrada de nivel superior de Compose, diseñado para proporcionar componentes que coincidan con los descritos en www.material.io.
compose.material3Compila las IUs de Jetpack Compose con componentes de Material Design 3, la siguiente evolución de Material Design. Material 3 incluye temas y componentes actualizados, y funciones de personalización de Material You, como el color dinámico. Además, se diseñó para ser coherente con el nuevo estilo visual y la IU del sistema de Android 12.
compose.runtimeSe trata de los componentes fundamentales del modelo de programación de Compose y de su administración de estados, así como del entorno de ejecución principal al cual se orienta el complemento de compilación de Compose.
compose.uiSon los componentes fundamentales de la IU de Compose necesarios para interactuar con el dispositivo, incluidos el diseño, el dibujo y la entrada.

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:material3:1.3.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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 versión común 1.0

Versión 1.0.0-alpha01

17 de abril de 2024

Lanzamiento de androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01 y androidx.compose.material3:material3-common-desktop:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

Componentes sin tema que se pueden usar para compilar componentes de Material Design:

Compose Material3 Adaptive Navigation Suite versión 1.0

Versión 1.0.0-alpha07

1 de mayo de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Cambios en la API

  • Se hicieron no experimentales las APIs del paquete de navegación (If62af).

Correcciones de errores

  • Consume inserciones para el contenido de forma predeterminada (50266df).

Versión 1.0.0-alpha06

17 de abril de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Cambios en la API

  • Agrega containerColor y contentColor a NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720).
  • Se agregó la función itemColors a NavigationSuiteDefaults. (Idf719, b/328480012).
  • Se selló NavigationSuiteScope. (Iefa57).

Versión 1.0.0-alpha05

6 de marzo de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Cambios en la API

Versión 1.0.0-alpha04

21 de febrero de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizaron las dependencias adaptables de Material3 a las nuevas rutas de acceso de los módulos. (Ibc421).
  • Migra para usar la versión de Window Manager de las clases de tamaño de ventana. (I3794d)

Versión 1.0.0-alpha03

7 de febrero de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se actualizó el nombre del paquete a navigationsuite desde navigation-suite (I7eff7).
  • Los componentes de Material3 que exponen un MutableInteractionSource en su API se actualizaron para exponer un MutableInteractionSource anulable que se establece de forma predeterminada como nulo. No hay cambios semánticos aquí: pasar nulo significa que no deseas elevar el MutableInteractionSource, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen un MutableInteractionSource y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (I41abb, b/298048146).

Versión 1.0.0-alpha02

13 de diciembre de 2023

Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

Correcciones de errores

  • Se corrigió el componente de navegación que llenaba toda la pantalla cuando la superficie raíz tenía modifier.fillMaxSize. (c9cf250, b/312664933).

Versión 1.0.0-alpha01

15 de noviembre de 2023

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

Nuevas funciones

Compose Material3 versión adaptable 1.0

Versión 1.0.0-alpha06

7 de febrero de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron opciones de comportamiento adicionales para la navegación hacia atrás de ThreePaneScaffoldNavigator. (I858aa).
  • Se agregó contenido de destino opcional al historial de navegación. (Ibd7e6).

Versión 1.0.0-alpha05

24 de enero de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con el conocimiento del historial en la navegación del andamiaje y el cálculo de valores (I71d46).

Versión 1.0.0-alpha04

10 de enero de 2024

Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04 y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad de borde a borde en andamios de paneles (I1b462).

Cambios en la API

  • Se movieron las propiedades de límites de bisagra en Posture a una lista de información de bisagra (I24f90).

Correcciones de errores

  • Se corrigió el problema por el que no se volvía a componer AnimatedPane (c3f573d).

Versión 1.0.0-alpha03

13 de diciembre de 2023

Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Cambia los roles del andamiaje a alias de ThreePaneScaffoldRole. (I65bd1).
  • Crea una clase base para los roles de andamiaje (I4784d)
  • Se quitó el parámetro innecesario del contenido de AnimatedPane (Ibc73b).
  • Se cambió el nombre de collectWindowSizeAsState y, en su lugar, se muestran valores sin procesar (I480f4).

Versión 1.0.0-alpha02

29 de noviembre de 2023

Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se dividieron las APIs de navegación de las APIs de andamiaje adaptable. (Ic4045).
  • Se quitó la clase GutterSize. (I785b3).

Correcciones de errores

  • Se corrigió que los paneles no se cambiaran cuando no se usaba AnimatedPane (d88f181).

Versión 1.0.0-alpha01

15 de noviembre de 2023

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

Nuevas funciones

APIs de condiciones adaptables de Material3:

APIs de directivas de andamiaje de paneles adaptables de Material3:

APIs de andamiaje de paneles adaptables de Material3:

Compose Material3 versión 1.4

Versión 1.4.0-alpha05

12 de diciembre de 2024

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

Cambios en la API

  • Se reemplazó el tipo en el valor WideNavigationRailState.current/target por una enumeración para mejorar la legibilidad (I2d6ab).
  • SplitButton cambia la API de Shape de la clase de datos a la clase para la compatibilidad binaria. (I53812).
  • Se agregó una API de la ventana de información que tiene un parámetro onDismissRequest para que los creadores puedan decidir qué sucede cuando un usuario hace clic fuera de la ventana de información. Se dio de baja la API anterior que no contiene este parámetro nuevo. (I99aef).
  • Se cambió el nombre de opticalCentering a horizontalCenterOptically. Se hizo interno el modificador. Se reemplaza el parámetro de padding por el desplazamiento máximo de inicio y fin. (I0b904).
  • Cambia WideNavigationRailState para que tenga el valor actual o objetivo, quita las enumeraciones en favor de los valores booleanos. (Idfa29, b/356039090).
  • Agrega NavigationBarItemComponentOverride. (I3a06a)

Correcciones de errores

  • Se corrigieron los comportamientos de la barra de la aplicación superior e inferior para cambiar el color de forma confiable cuando se desplaza el contenido hasta el final. (Idc4e8, b/293665988).
  • Las funciones de comportamiento de desplazamiento para las barras de la aplicación superior e inferior ahora muestran un comportamiento recordado para tener un mejor rendimiento en las recomposiciones. (I0fdbe, b/207957336).
  • El parámetro del modificador ahora se aplica después de los modificadores internos, como el comportamiento de arrastre y la semántica, en lugar de antes. Esto afecta el orden en el que se aplican los modificadores. (I8d83f).
  • La hoja inferior expandida permanece expandida cuando se cambia el tamaño. (I2870b, b/324934884)
  • Se enrutaron correctamente el estado y las marcas de la barra de navegación para las propiedades de ventana. (Ie674d, b/362539765).
  • Mueve el parámetro del modificador a la raíz de los andamios, como se documenta. Esto alinea la implementación con M2. (I0235e, b/372311595).

Contribución externa

  • Se unificó la función DatePickerDialog. (I7dced).

Versión 1.4.0-alpha04

13 de noviembre de 2024

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

Cambios en el comportamiento

  • Se revirtieron los cambios de color introducidos en aosp/3212478 a iconButtonColors, iconToggleButtonColors, outlinedIconButtonColors, outlinedIconToggleButtonColors y outlinedIconToggleButtonBorder. Se trasladó el comportamiento ahora revertido a un nuevo conjunto de funciones llamadas iconButtonVibrantColors, etcétera, para enfatizar los colores de alto contraste que se muestran. (Iffd8d).

Nuevas funciones

  • Se introdujo el componente VerticalDragHandle (I6c770).

Cambios en la API

  • Se cambió el nombre de DismissibleModalWideNavigationRailDefaults por ModalWideNavigationRailDefaults. (I8e877).
  • Agrega NavigationBarComponentOverrides. (I8a3f3).
  • Agrega NavigationRailComponentOverride. (I83e13).
  • Se agregó WideNavigationRailState para controlar la contracción o expansión del riel, permitir que ModalWideNavigationRail se pueda descartar y borrar DismissibleModalWideNavigationRail. (I88568)
  • Se agregaron los valores predeterminados de tamaño extrapequeño, mediano, grande y extragrande a los valores predeterminados del botón de activación. (Ie95d1).
  • Se agregaron los tamaños predeterminados extrapequeño, mediano, grande y extragrande a los valores predeterminados de los botones. (If8b6d).

Correcciones de errores

  • Se actualizó el color del ícono final del chip de filtro de Primario a OnSurfaceContainer, según las especificaciones. Todos los colores del contorno del chip se actualizaron de Outline a Outline Variant, según las especificaciones. (I68bd4)

Versión 1.4.0-alpha03

30 de octubre de 2024

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

Cambios en la API

  • El constructor SheetState con densidad dejó de estar disponible y se lo reemplazó por umbrales de posición y velocidad. (Ifd16e).
  • Se agregó rememberTooltipPositionProvider que contiene una lógica de posicionamiento actualizada. Se dejaron de usar rememberPlainTooltipPositionProvider y rememberRichTooltipPositionProvider. (Ie66e2).
  • Los ModalBottomSheetProperties adicionales permiten personalizar los colores de la barra de estado y de navegación. De forma predeterminada, se actualizan según el color del contenido en lugar del estado del tema oscuro del sistema. (Ib874e, b/362539765).
  • Se mejoró la experiencia de entrada de los selectores de fecha: cuando se está en el modo de entrada, el campo de texto de la fecha se enfocará para la entrada de texto inmediata. El cambio agrega un parámetro requestFocus a DatePicker y DateRangePicker. Puedes evitar un enfoque pasando false. (I12d09, b/286399710, b/340102743).
  • Almacenamiento en caché de los valores predeterminados de la forma en el objeto Shape Se establece la forma predeterminada como @Composable para el botón de activación. Se contraen las formas en una forma predeterminada, ya que las variantes apuntan al mismo archivo de token. (Iaa014).

Correcciones de errores

  • Optimiza el comportamiento de contentPadding del andamiaje para evitar que se recomponga siempre el contenido del cuerpo cuando cambie contentPadding. (I8c8e2, b/373904168)
  • Se cambió el nombre de TextFieldLabelScope progress por labelMinimizedProgress.
  • Se cambió el nombre de TextFieldLabelPosition Default a Attached. Se quitaron los miembros de la interfaz. (If75c6).
  • Se corrigió un problema con DatePicker en el modo de entrada en el que los errores de validación podían hacer que cambiara la altura del componente. (I2e229, b/280462363).
  • Haz que el control deslizante de material cambie su valor cuando se presionen las teclas de control. (I1c442).

Versión 1.4.0-alpha02

16 de octubre de 2024

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

Cambios en la API

  • Se realizaron actualizaciones en los selectores de fecha para garantizar un uso coherente de la configuración regional en DatePicker y DateRangePicker cuando se establece una configuración regional directamente a través de un DatePickerState o un DateRangePickerState. Ten en cuenta que, cuando configuras las configuraciones regionales directamente en el estado, depende de ti asegurarte de que los textos del título y el encabezado estén localizados según corresponda, ya que su texto predeterminado se seguirá aplicando según la configuración regional predeterminada de la plataforma. (I37073, b/326490763, b/321657276).
  • SheetState.isAnimationRunning ahora está expuesto. (I9a3d7).
  • DatePickerColors ahora tiene prioridad sobre los colores en conflicto definidos en los estilos de texto de la tipografía del tema. Ten en cuenta también que esta actualización ajusta la posición del parámetro color en las funciones del selector de fecha y presenta un parámetro contentColor para personalizar los colores de texto del encabezado y el título. (I30d03, b/347031394).
  • Cambia el nombre de SplitButton a SplitButtonLayout y quita las APIs de variantes de color SplitButton. Las variantes se lograrán reutilizando las variantes de botones que proporciona SplitButtonDefaults. (I44c36)
  • ModalBottomSheet ahora tiene el parámetro sheetGestureEnabled (I856cb, b/288211587).
  • Se cambió el nombre de standardMotionScheme y expressiveMotionScheme a estándar y expresivo. Ahora se puede acceder a ambas funciones a través del objeto complementario MotionScheme llamando a MotionScheme.standard() y MotionScheme.expressive(). (Iceccf).
  • Se agregó el parámetro maxWidth a las herramientas de ayuda simples y enriquecidas. De forma predeterminada, usa la especificación de diseño de 200 dp para las indicaciones de herramientas simples y 320 dp para las indicaciones de herramientas enriquecidas. (I30ce9)

Correcciones de errores

  • DatePicker y DateRangePicker ahora actualizan correctamente el mes que se muestra cuando se configuran a través del displayedMonthMillis de su estado. (If9e47, b/333414302).
  • El contenido de ModalBottomSheet ahora se aleja de la barra de estado. (I5114c, b/321877275, b/336962418, b/342093067).
  • [Cuadro inferior] Se cambió la prioridad de devolución de llamada de atrás a PRIORITY_DEFAULT para permitir que el teclado del IME se oculte primero. (I447fb).
  • Se corrigieron las fallas en DatePicker y DateRangePicker cuando el año mínimo seleccionable se establece en un año futuro. (I78656, b/319395747)
  • Se solucionó un problema del selector de fecha para actualizar la IU cuando se aplica una instancia SelectableDates actualizada. (Iad59a, b/290135807, b/339898760).

Versión 1.4.0-alpha01

2 de octubre de 2024

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

Cambios en el comportamiento

  • La biblioteca ya no agrega una dependencia a material-icons-core, por lo que, si tu proyecto dependía de ella, deberás agregar esa dependencia de forma explícita en tus archivos build.gradle[.kts]. (I735ff, b/349894318).
  • El color de la etiqueta activa de NavigationBarItem y NavigationRailItem cambia de onSurface a secondary para mejorar la usabilidad, el contraste de color y la coherencia dentro del sistema (Ibc297). Para volver al comportamiento anterior, copia los colores predeterminados y cambia selectedTextColor a MaterialTheme.colorScheme.onSurface.
  • Los componentes de Material 3 ahora usan el nuevo MotionScheme para definir su movimiento. (Ie0f93).
  • Cambios de movimiento del indicador de progreso circular indeterminado (I3c07e)
  • Actualiza OutlinedIconButtonColors y OutlinedIconToggleButtonColors para mejorar el contraste de color. (I2743d)
  • Se actualizó el color del contenedor y del contenido para FilledIconToggleButtonColors y FilledTonalIconToggleButtonColors. (Ic5d0f).
  • Se actualizó el color del borde OutlinedButton de outline a outlineVariant. (057f00).

Cambios en la API

  • Se agregó un parámetro reverseLayout opcional a la función enterAlwaysScrollBehavior de TopAppBar para admitir mejor el contenido que se configuró con un reverseLayout. (I4e0e5).
  • SegmentedButton ahora admite el argumento contentPadding. (I5ad91, b/358414376).
  • PullToRefreshState ya no tiene implementación predeterminada para isAnimating (I6a593).
  • Se agregaron nuevas sobrecargas de TextField y OutlinedTextField de Material que usan TextFieldState. Se agregaron APIs de cuadros de decoración compatibles con TextFieldDecorator. (If13a1).
  • Se agregó un parámetro para controlar el labelPosition del campo de texto. El uso de alwaysMinimize permite que el patrón de la IU muestre una etiqueta y un marcador de posición en un campo de texto al mismo tiempo, incluso cuando el campo no está enfocado. (I1ef2c).
  • Se agregaron SecureTextField y OutlinedSecureTextField de Material para los campos de entrada de contraseña. (I7e22d).
  • Se agregó un alcance a las etiquetas de campos de texto para consultar el progreso de la animación. (If5ec8).
  • Se agregó compatibilidad con MotionEvent.CLASSIFICATION_DEEP_PRESS a las indicaciones sobre herramientas. (I62e6a).
  • isAfternoon de TimePickerState ahora es un valor de extensión en lugar de una var en la interfaz, y se cambió su nombre a isPm (I89a97).
  • Se actualizó la clase de tipografía para admitir escalas de tipo destacadas. (Ifa13c).
  • Se agregó la API de ModalWideNavigationRail y se cambió el nombre de las APIs de ModalExpandedNavigationRail a DismissibleModalWideNavigationRail. (Ic9118)
  • Se actualizó FloatingAppBarScrollBehavior para calcular automáticamente screenOffset y no requerir un @Composable. (Idf349)
  • Se realizaron actualizaciones en la API de LoadingIndicator para corregir los nombres en su objeto predeterminado. Se agregó una constante LoadingIndicatorElevation en PullToRefresh. (I1d72b)
  • Se realizaron actualizaciones en la API de LoadingIndicator para corregir los nombres en su objeto predeterminado. Se agregó una constante LoadingIndicatorElevation en PullToRefresh. (I1d72b)
  • Se agregaron los parámetros amplitude y waveSpeed a las variaciones indeterminadas de LinearWavyProgressIndicator y CircularWavyProgressIndicator. (I2a0c5).
  • Se admite cambiar la forma de un botón de activación de ícono según su estado de presión o verificación. (Ibc781).
  • Se actualizó la clase de tipografía para admitir escalas de tipo destacadas. (Ifa13c).
  • SplitButton shape morphs based on default / pressed state. Se quitó la API de AnimatedTrailingButton porque la API de TrailingButton puede ofrecer las mismas personalizaciones (I95066).
  • Se agregó un modificador para animar la ocultación y la visualización de la FAB, p.ej., cuando se desplaza el contenido. (I8338d)
  • Se agregaron formas y espaciado de grupo de botones conectados a ButtonGroupDefaults para usarlos en una muestra. (I68e30).
  • El botón dividido agrega padding horizontal para el botón final y habilita el centrado óptico calculado a partir de las diferencias de esquinas de inicio y finalización (I122e2).
  • Presentamos un nuevo MotionScheme de Material para permitir establecer un esquema para el movimiento del componente. El esquema se establece a través de MaterialTheme. (Id50c2).

Correcciones de errores

  • Aplica el índice de recorrido de enfoque correcto a los elementos componibles secundarios Scaffold. El orden es topBar, bottomBar, fab, contenido, barra de notificaciones. (I5936b).
  • Se solucionó un problema en DatePicker y DateRangePicker en el que, en ciertas configuraciones regionales y esqueletos de formato, algunos de los elementos de fecha (p.ej., nombres de meses) no comenzaban con una letra mayúscula. (I1430f).
  • Se integraron tokens de componentes de BAF y menú de BAF (actualizaciones visuales menores en el padding y el texto) (Ib57f3).
  • ModalBottomSheet ahora es el primero en el orden de recorrido semántico, seguido de la pantalla dimmed. (I436f9, b/358594665).
  • Se corrigió el problema por el que la barra inferior de la app no desaparecía por completo cuando se desplazaba debajo de la píldora de navegación en el modo de pantalla completa (I3ee21).

Compose Material3 versión 1.3

Versión 1.3.1

30 de octubre de 2024

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

Correcciones de errores

  • DatePicker y DateRangePicker ahora actualizan correctamente el mes que se muestra cuando se configuran a través del displayedMonthMillis de su estado. (If9e47, b/333414302)
  • Se corrigieron las fallas en DatePicker y DateRangePicker cuando el año mínimo seleccionable se establece en un año futuro. (I78656, b/319395747)
  • Se solucionó un problema del selector de fecha para actualizar la IU cuando se aplica una instancia SelectableDates actualizada. (Iad59a, b/290135807, b/339898760).
  • Cambia la prioridad de devolución de llamada de atrás que usan las hojas inferiores a PRIORITY_DEFAULT para permitir que el teclado del IME se oculte primero. (I447fb).

Versión 1.3.0

4 de septiembre de 2024

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

Cambios importantes desde 1.2.0

Funciones principales de la versión 1.3.0

Nuevos componentes de Material Design 3

  • Carrusel
  • [ModalBottomSheet] ahora admite el gesto atrás predictivo en U+ (Iccf32, b/281967264, b/304850357).
  • [SearchBar] ahora admite el gesto atrás predictivo en U y versiones posteriores (I657f8).
  • El panel lateral de navegación (ModalDrawerSheet y DismissibleDrawerSheet) ahora admite el gesto atrás predictivo en U+ como opción de habilitación (Ie5b0b).
  • DropdownMenu ahora admite color, forma, elevación y borde personalizados. (I8e981,b/289554448, b/301887035, b/283654243)
  • Se actualizó el control deslizante para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I3058e).
  • Se actualizó ProgressIndicator para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I21451)
  • Se agregó un signo de intercalación predeterminado para la información sobre herramientas enriquecida, se admite que se dibuje un signo de intercalación personalizado con la ancla LayoutCoordinates. (Ifd42c) Cambios rotundos
  • Nuevas APIs de deslizamiento para actualizar:
    • Se simplificó PullToRefreshState para usar valores fraccionarios en lugar de unidades de Dp.
    • El usuario controla el estado isRefreshing en lugar de PullToRefreshState.
    • Se separó la conexión de desplazamiento anidada de PullToRefreshState. Se controla con el nuevo PullToRefreshBox o Modifier.pullToRefresh.
    • Esta actualización es un cambio rotundo en las APIs experimentales anteriores. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Cambios visuales
  • Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
  • Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en lightColorScheme y darkColorScheme. (I9db52).
  • Se actualizaron los colores del control deslizante y ProgressIndicator para cumplir con las nuevas especificaciones de contraste no textual. (I26807).
  • Los componentes ahora usan variantes de SurfaceContainer. Los componentes que calculaban el color de forma formal con Surface y TonalElevation ahora usan roles SurfaceContainer de forma predeterminada, que no se ven afectados por la elevación tonal. (b/304584161)
  • Se ajustaron ligeramente los roles de modelo de referencia de la superficie y el contenedor de superficie, lo que proporciona más tono en los temas claros y oscuros. (I677a5)
  • Se ascendieron las APIs experimentales a estables.
  • Mejoras en el rendimiento

Versión 1.3.0-rc01

21 de agosto de 2024

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

Correcciones de errores

  • ModalBottomSheet ahora es el primero en el orden de recorrido semántico, seguido de la pantalla dimmed. (I436f9, b/358594665).

Versión 1.3.0-beta05

24 de julio de 2024

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

  • Se solucionó el problema por el que faltaba o se cortaba el contenido de BottomSheet en Android N y O (a10a2d).
  • Se aumentaron los límites de semántica del control deslizante para que TalkBack muestre correctamente los indicadores de enfoque alrededor de los controles deslizantes. (0b5a1d).

Versión 1.3.0-beta04

26 de junio de 2024

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

Versión 1.3.0-beta03

12 de junio de 2024

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

Contribución externa

  • Se hizo que androidx.compose.material3.DropdownMenu esté disponible desde el conjunto de fuentes comunes. (If62c0).

Versión 1.3.0-beta02

29 de mayo de 2024

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

Cambios en la API

  • Modifier.pullToRefreshIndicator admite elevación, actualiza las APIs de Pull To Refresh para que se habilite un valor booleano, en lugar de una lambda. Se agregó compatibilidad con la alineación de contenido en PullToRefreshBox (I75679).
  • Hacer que TooltipScope sea una interfaz sellada y crear una implementación interna para usar en TooltipBox y Label (I3833e).
  • Se agregaron dos modificadores nuevos a CarouselItemScope: maskClip y maskBorder, para agregar fácilmente una forma y un borde a cualquier elemento del carrusel (Id67a1).
  • Ahora TimePickerState es una interfaz y permite configurar la hora (I88546).
  • Se actualizó la API para aplicar diseño a los vínculos: se movió TextLinkStyles a TextStyle y se quitó TextDefaults de material. (I5477b).

Correcciones de errores

  • Los íconos de estado y de la barra de navegación de ModalBottomSheet ahora responden al estado del tema oscuro. (Ie1fe7, b/338342149).
  • Se agregaron semánticas de cierre de la hoja a la pantalla ModalBottomSheet. (0e61cb,b/328801864).

Contribución externa

  • Se hizo que androidx.compose.material3.AlertDialog esté disponible desde el conjunto de orígenes común (Ia33f5).
  • Se hizo que ModalBottomSheet esté disponible desde el conjunto de orígenes común (Id7cc7).

Versión 1.3.0-beta01

14 de mayo de 2024

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

Cambios en la API

  • Usar DpSize en lugar de CaretProperties Se quitó CaretProperties. Se cambió el nombre de CaretScope a TooltipScope. (Id9a76).
  • Se actualizó la API para obtener vínculos con temas de Material en el texto. Específicamente, se quitaron los métodos de TextDefaults para construir LinkAnnotations temáticos y analizar HTML con vínculos temáticos. En su lugar, se agregó una clase TextLinkStyles que permite aplicar diseño a los vínculos como un parámetro al elemento componible Text. (I31b93).

Versión 1.3.0-alpha06

1 de mayo de 2024

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

Cambios rotundos

  • Nuevas APIs de deslizamiento para actualizar:

    • Se simplificó PullToRefreshState para usar valores fraccionarios en lugar de unidades de Dp.
    • El usuario controla el estado isRefreshing en lugar de PullToRefreshState.
    • Se separó la conexión de desplazamiento anidada de PullToRefreshState. Se controla con el nuevo PullToRefreshBox o Modifier.pullToRefresh.
    • Esta actualización es un cambio rotundo en las APIs experimentales anteriores. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683).

Cambios en la API

  • Se quitó RippleConfiguration#isEnabled y LocalRippleConfiguration se convirtió en Nullable. Para inhabilitar una onda, en lugar de proporcionar un RippleConfiguration con isEnabled = false, proporciona null a LocalRippleConfiguration. (I22725).
  • ModalBottomSheet dibuja con mayor precisión la pantalla de carga sobre la barra de estado cuando está habilitada la pantalla de borde a borde. El contenido de la hoja inferior modal ahora puede consumir inserciones de ventana, lo que permite que el contenido sea visible sobre la barra de navegación. Se cambió el nombre del parámetro windowInsets de ModalBottomSheet a contentWindowInsets para especificar dónde se aplicarán los rellenos, que ya no están vinculados a la lógica de la ventana. El tipo contentWindowInsets se cambió a una función que muestra WindowInsets para permitir que se resuelva dentro de su nueva ventana. (I39630, b/274872542, b/300280229, b/290893168).
  • PrimaryScrollableTabRow y SecondaryScrollableTabRow ahora usan un diseño personalizado en lugar de una subcomposición, lo que debería mejorar el rendimiento. (I991e0).
  • Los vínculos de texto tienen la opción de estilo de estado presionado, además de los estilos normales, con el cursor encima y enfocados. Cada método TextDefaults tiene un argumento pressedStyle para admitirlo. (Ic473f, b/139312671)

Correcciones de errores

  • Los anclajes de arrastre del panel lateral de navegación ahora coinciden con el ancho de drawerContent. (Ibc72f, b/245355396).
  • El padding superior de OutlinedTextField para la etiqueta ahora tiene en cuenta el tamaño de la fuente del sistema. (Idc781).
  • Se corrigió la ubicación del paquete de CalendarLocale. (Ifa235).
  • [Retroceso predictivo] Se actualizaron las animaciones de retroceso predictivo para usar la curva de interpolación (0.1, 0.1, 0, 1) (I2591a).

Versión 1.3.0-alpha05

17 de abril de 2024

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

Nuevas funciones

  • SearchBar y DockedSearchBar tienen nuevas sobrecargas que toman un parámetro de campo de texto. Esto permite aplicar diseño al campo de texto por separado del resto de la barra de búsqueda, así como pasar campos de texto personalizados. El campo de texto de la implementación actual está disponible como SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700).
  • Se agregó la lambda drawTick a la API pública para personalizar las marcas si es necesario (I0c048).

Cambios en la API

  • Los vínculos de texto tienen la opción de diseño de estado presionado, además de los diseños normales, con el cursor sobre ellos y enfocados (I5f864, b/139312671).
  • Se actualizó CarouselItemInfo para exponer un rectángulo de máscara por el que se recorta el elemento (I785d8).
  • Se quitó BasicTooltipState de la API pública de Material 3. Su funcionalidad se combina con TooltipState hasta que se estabiliza el BasicTooltip de Foundation. (Icda29).
  • Se agregó un objeto TextDefaults que contiene métodos para construir un LinkAnnotation y analizar una cadena con etiquetas HTML que aplica MaterialTheme a los vínculos (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope ya no permite subclases. Los menús desplegables expuestos ahora tienen un MenuAnchorType que se debe pasar a menuAnchor para admitir una mejor accesibilidad. Se debe usar en lugar de pasar focusable a ExposedDropdownMenu, que ahora dejó de estar disponible. menuAnchor tiene un nuevo parámetro para controlar el estado enabled. (I55ee6, b/257209915, b/308840226).
  • Se corrigió el color de borde de OutlinedButton cuando está inhabilitado. Se agregó la sobrecarga de ButtonDefaults.outlinedButtonBorder("enabled") que toma el estado habilitado. (Ie650b, b/318461363).
  • Se agregó una nueva clase CarouselItemInfo para ayudar a los clientes a obtener información sobre los tamaños de los elementos. (I9070c).
  • El constructor ColorScheme sin contenedores de superficie dejó de estar disponible. Migra al constructor que incluye contenedores de superficie. (I35c11)
  • [Delineado]TextFieldDefaults Se cambió el nombre de ContainerBox a Container. (Ie8d3b).

Correcciones de errores

  • BottomSheetScaffold ya no se desplazará desde el desplazamiento anidado si sheetSwipeEnabled es falso. (I5e1c1, b/306464779).
  • Se quitó alguna anotación de ExperimentalMaterial3Api OptIn en IconButtonSamples.kt. (I111d1).

Versión 1.3.0-alpha04

3 de abril de 2024

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

Nuevas funciones

  • Se agregaron dos versiones experimentales del carrusel de Material3: HorizontalMultiBrowseCarousel y HorizontalUncontainedCarousel (I88d64).
  • Se actualizó el panel lateral de navegación de Compose M3 (ModalDrawerSheet y DismissibleDrawerSheet) para admitir el gesto atrás predictivo en U+ como opción de habilitación (Ie5b0b).
  • Se agregó una nueva API en Icon para permitir pasar el tono de color como lambda y evitar la recomposición. (I5b5a2).
  • Las APIs de la barra superior de la app ahora admiten alturas personalizadas para secciones fijas y plegables. (Ib8b0c, b/323403446).

Cambios en la API

  • Las APIs de la barra superior de la app ahora admiten alturas personalizadas para secciones fijas y plegables. Se corrigió un problema que causaba que las barras de la app superior de una sola línea se recompusieran demasiadas veces cuando se desplazaba el contenido. Se resolvió un problema en el que MediumTopAppBar truncaba los títulos en dispositivos con una configuración de fuente o pantalla grande. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676).
  • SegmentedButton y las APIs asociadas ahora son estables (I8a158)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState y SwipeToDismissBoxValue ahora se marcan como estables. (I5f000).
  • Se quitaron las enums y las APIs de DismissDirection y DismissValue obsoletas. (I89ccd)
  • Se agregó una etiqueta experimental al objeto complementario CarouselState del carrusel. (I94154)
  • LocalMinimumInteractiveComponentEnforcement dejó de estar disponible, y se introdujo LocalMinimumInteractiveComponentSize para reemplazarlo. (I7a7ac).
  • El constructor SearchBarColors ahora es público. (I769ca)
  • Se agregó un parámetro gesturesEnabled a SwipeToDismissBox. (Idc59f, b/324170119).
  • Se quitaron las APIs de campo de texto que se marcaron como obsoletas y experimentales. (I1305f).

Versión 1.3.0-alpha03

20 de marzo de 2024

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

Cambios rotundos visuales

  • Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
  • Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en lightColorScheme y darkColorScheme. (I9db52).

Nuevas funciones

  • Se agregaron parámetros para personalizar ExposedDropdownMenu. En particular, los menús ahora tienen un parámetro focusable (true predeterminado) que se debe establecer en false cuando se trabaja con campos de texto editables. (I4184c, b/323694447, b/278609042).

Cambios en la API

  • Se quitó la marca ScaffoldSubcomposeInMeasureFix. (Ie2a4b).
  • NavigationRailItemColors ahora está marcado como @Immutable (If6112, b/327660613).
  • NavigationBarItemColors ahora está marcado como @Immutable (I42a30, b/298064514)
  • Se reorganizaron los parámetros en el elemento componible Slider Track. (I9f315).
  • ExposedDropdownMenu ahora se implementa con Popup. El comportamiento debería ser el mismo, excepto que los menús que se pueden enfocar con campos de texto editables se pueden descartar cuando se escribe en el teclado.

Correcciones de errores

  • Se ajustaron ligeramente los roles de modelo de referencia de la superficie y el contenedor de superficie, lo que proporciona más tono en los temas claros y oscuros. (I677a5)
  • Se actualizaron los colores del control deslizante y ProgressIndicator para cumplir con las nuevas especificaciones de contraste no textual. (I26807).
  • Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
  • Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en lightColorScheme y darkColorScheme. (I9db52).

Versión 1.3.0-alpha02

6 de marzo de 2024

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

Cambios en la API

  • Se volvieron a estabilizar los estados del control deslizante. Vuelve a convertir State.onValueChangeFinished en un valor. Une onValueChangeFinished en un rememberUpdatedState. (I82ab2, b/322269951).
  • Los componentes de Navigation ahora usan los nuevos roles SurfaceContainer. DrawerDefaults ahora proporciona atributos standardContainerColor y modalContainerColor distintos. DrawerDefaults.ModalDrawerElevation ahora es 0.dp. (I7fbac).
  • Se quita @Stable de los estados de Slider, ya que cambiamos state.onValueChangeFinished a var. (Ied34a, b/322269951)
  • La especificación de animación de ModalBottomSheet y StandardBottomSheet ahora es un TweenSpec, actualizado desde una animación de resorte. Esto resuelve un problema con un exceso visible. Se quitaron los constructores SheetState obsoletos sin densidad. (I7babc, b/285847707).

Correcciones de errores

  • Los componentes ahora usan variantes de SurfaceContainer. Los componentes que calculaban el color de forma formal con Surface y TonalElevation ahora usan roles SurfaceContainer de forma predeterminada, que no se ven afectados por la elevación tonal. (b/304584161)
  • Se corrigió el error que causaba que el color del contenedor inhabilitado y no seleccionado de ElevatedFilterChip fuera negro. (I400e6, b/322407043).
  • Se corrigió el indicador de progreso indeterminado cuando el progreso es 0 (Id6582).
  • Se solucionó un problema con Slider y RangeSlider en el diseño de derecha a izquierda (Iab0e1).
  • Se agregó SliderRangeTolerance para el cálculo del rango del control deslizante, ya que el redondeo de números de punto flotante puede ser inexacto. (Ic918a, b/324934900)
  • Asegúrate de que DatePickerDialog muestre sus botones cuando anides un DateRangePicker o cuando muestres cualquier tipo de selector de fecha en pantallas pequeñas con fuentes más grandes. (Ie4758, b/325107799, b/277768544).
  • Menu ahora aprovecha el rol SurfaceContainer para el color del contenedor. MenuDefaults.TonalElevation ahora es 0.dp. (I135b7).
  • TextField ahora aprovecha el rol SurfaceContainerHighest para el color del contenedor. (I4dced).
  • Los chips elevados ahora aprovechan el rol SurfaceContainerLow (I7cd2f).
  • El color del contenedor DatePicker ahora es SurfaceContainerHigh. DatePickerDefaults.TonalElevation ahora es 0.dp. (Ida753).
  • Se actualiza el color del contenedor y del control de arrastre de las tarjetas inferiores. (I72a0a).
  • El color del contenedor RichTooltip ahora es SurfaceContainer. (Ia8b45).
  • El color del contenedor SearchBar ahora es SurfaceContainerHighest. SearchBarDefaults.TonalElevation ahora es 0.dp. (I88604).
  • Se actualiza el interruptor de pistas o íconos inhabilitados y no seleccionados para aprovechar el rol de color SurfaceContainerHighest. (I7687a)
  • El color del contenedor AlertDialog ahora es SurfaceContainerHigh. (Ie0433).
  • El color del contenedor BottomAppBar ahora es SurfaceContainer. El color onScroll de TopAppBar ahora es SurfaceContainer. (I41630)
  • El color del contenedor ElevatedCard ahora es SurfaceContainerLow. El color del contenedor de FilledCard es SurfaceContainerHighest. (I35141).
  • El color del contenedor ElevatedButton ahora es SurfaceContainerLow. Los FilledIconButton que no están seleccionados ahora tienen un color de contenedor de SurfaceContainerHighest. (I792c9).
  • Se actualiza el color del contenedor TimePicker y el rol de color del dial del reloj a SurfaceContainerHighest. (I43b93).

Versión 1.3.0-alpha01

21 de febrero de 2024

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

Nuevas funciones

  • Se actualizó ModalBottomSheet de Compose M3 para admitir el gesto atrás predictivo en U+ (Iccf32, b/281967264, b/304850357).
  • Se actualizó SearchBar de Compose M3 para admitir el gesto atrás predictivo en U+ (I657f8).
  • Se actualizó el control deslizante para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I3058e).
  • Se actualizó ProgressIndicator para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I21451)
  • Se agregó un signo de interrogación predeterminado para la información sobre herramientas enriquecida. La nueva API de información sobre herramientas enriquecida ahora permite dibujar un signo de interrogación personalizado dado el ancla LayoutCoordinates. (Ifd42c).

Cambios en el comportamiento

  • Los componentes de Material se migraron para usar las nuevas APIs de Ripple y ya no consultan RippleTheme.

Cambios en la API

  • La función divertida drawStopIndicator ahora es pública. (I3f59f)
  • Se marca la función formatWithSkeleton de DatePicker como interna (Ic65dc).
  • DropdownMenu ahora admite color, forma, elevación y borde personalizados. (I8e981, b/289554448, b/301887035, b/283654243)
  • Los componentes de Material3 que exponen un MutableInteractionSource en su API se actualizaron para exponer un MutableInteractionSource anulable que se establece de forma predeterminada en null. No hay cambios semánticos aquí: pasar nulo significa que no deseas elevar el MutableInteractionSource, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen un MutableInteractionSource y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (I41abb, b/298048146).
  • Se agregaron RippleConfiguration y LocalRippleConfiguration para permitir la personalización de las ondas por componente o subárbol con valores fijos. Por ejemplo, para cambiar el color de un componente que no controlas o para inhabilitar un efecto de onda para un componente. En la mayoría de los casos, se deben usar los valores predeterminados: estas APIs son una salida para la personalización de componentes individuales o subárboles limitados. Para cambios más amplios y sistemas de diseño personalizados, debes compilar tu propia onda con createRippleModifierNode. (I7b5d6, b/298048146).
  • Se agregó una nueva API de Ripple en material3 que reemplaza a rememberRipple obsoleto. También se agrega un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de material3 a usar las APIs de rememberRipple o RippleTheme que dejaron de estar disponibles. Se quitará en la próxima versión estable y solo se diseñó como una ayuda de migración temporal para los casos en los que proporcionas un RippleTheme personalizado. (I34cbc, b/298048146).

Correcciones de errores

  • Se quitó la subcomposición dentro de ModalBottomSheet para mejorar el rendimiento. Se solucionó un problema por el que ModalBottomSheet podía fallar en situaciones específicas en combinación con LookaheadScope. (I2a198).
  • Se quitó la subcomposición dentro de BottomSheetScaffold para mejorar el rendimiento. Se solucionó un problema por el que BottomSheetScaffold fallaba en situaciones específicas en combinación con LookaheadScope. (Ie6401).
  • La alineación de la insignia se ajusta para estar más cerca del centro del contenido de la insignia en relación con la esquina superior derecha. (I18a28).
  • Se solucionó un problema de accesibilidad con el DateRangePicker en el que el título de texto de mes y año se transmitía como una acción para los usuarios del lector de pantalla, el acceso con interruptores y el acceso por voz. (I2ac55).
  • Se corrigió el error de orden de parámetros mediumTopAppBarColors. (Ibe64a).

Versión 1.2

Versión 1.2.1

6 de marzo de 2024

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

Correcciones de errores

  • Haz que los estados del control deslizante vuelvan a ser estables. Vuelve a convertir State.onValueChangeFinished en un valor. Une onValueChangeFinished en un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Se quita @Stable de los estados de Slider, ya que cambiamos state.onValueChangeFinished a var. (I82ba1, b/322269951).
  • Se corrigieron los colores personalizados NavigationBar para copiarlos de los predeterminados. (80a779, b/326894020)
  • Se corrigió la regresión en ExposedDropdownMenu para que vuelva a poder enfocarse (3fcec1, b/323694447).
  • Se corrigió el problema de almacenamiento en caché del color del botón (3e5bbcb/327371655).

Versión 1.2.0

7 de febrero de 2024

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

Problema conocido

  • Se introdujo un error de renderización de interoperabilidad de View-Compose en PrimaryTabRow como parte de un cambio de mejora de rendimiento. La solución alternativa es usar TabRow con TabRowDefaults.PrimaryIndicator.

Cambios importantes desde la versión 1.1.0

Nuevos componentes de Material Design 3

Mejoras en los componentes existentes de Material Design 3.

Se ascendieron las APIs experimentales a estables.

Mejoras de rendimiento

Versión 1.2.0-rc01

24 de enero de 2024

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

Correcciones de errores

  • Se corrigió el error de orden de parámetros mediumTopAppBarColors. (Ibe64a).
  • Se corrigió un error introducido en 1.2.0-beta02 en CardDefaults.cardColors que no actualizaba contentColor según el valor del parámetro containerColor. (Iee041, b/319671246).
  • Se corrigió un error en disabledContentColor que se introdujo en 1.2.0-beta02 y se agregó una pequeña optimización. (I6dda1, b/318428829).

Versión 1.2.0-beta02

10 de enero de 2024

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

Error conocido

  • Un error en IconButtonColors asignará de forma predeterminada disabledContentColor a una alfa (0.38f) de LocalContentColor en lugar de la contentColor especificada por el usuario. La solución alternativa es configurar disabledContentColor de forma explícita. Se solucionará este problema en la próxima versión.

Cambios en la API

  • Se agregó la capacidad de habilitar los símbolos de intercalación de la información sobre herramientas para las APIs de Tooltip simples. (Ibf767).
  • Se cambió el nombre de SwipeToDismissState, rememberSwipeToDismiss y SwipeToDismissValue a _SwipeToDismissBox_. (I68d6d)

Correcciones de errores

  • Se corrigió el valor de padding final de ListItem para que se alinee con las especificaciones (Ibd68b, b/305342674).
  • El color del contorno de la tarjeta con contorno ahora se asigna correctamente a OutlineVariant. (I75480, b/310979715).
  • El color dinámico ahora extrae los roles de color definidos por el sistema. Esto mejora el contraste del contenido accesible y alinea más el color dinámico con las especificaciones de Material. (I1de96)
  • Se corrigió el manejo de atrás ModalBottomSheet en Android T/13 y versiones posteriores cuando android:enableOnBackInvokedCallback="true". (I728dc, b/306196110).

Versión 1.2.0-beta01

13 de diciembre de 2023

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

Cambios en la API

  • Marca TabIndicatorScope como experimental. (I45c88).
  • Se quitaron las APIs experimentales obsoletas para la información sobre herramientas. (I438cb).
  • Cambia las sobrecargas TabRow nuevas para que no usen subcomposiciones. Esto genera una forma diferente de compilar los indicadores TabRow con modificadores personalizados proporcionados. (Ife741)
  • Se dieron de baja las APIs de DismissDirection y DismissValue. Se combinaron en SwipeToDismissValue, cuyos valores indican la posición y la dirección de SwipeToDismissBox. DismissState.progress ahora está marcado como un FloatRange entre 0.0 y 1.0. Se quitaron el Ahorro y el Constructor obsoletos de DismissState. El componente SwipeToDismiss, el estado y el objeto de valores predeterminados se volvieron a marcar como experimentales. (Ib54f2).

Correcciones de errores

  • El indicador predeterminado para PullToRefresh ahora es una punta de flecha abierta en lugar de un triángulo sólido. (I67be3).

Versión 1.2.0-alpha12

29 de noviembre de 2023

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

Cambios en la API

  • RangeSlider ahora toma un rango de Kotlin (p.ej., 0f..1f) en lugar de una clase de valor FloatRange personalizada. SnapFlingBehavior.kt ahora también usa un rango de Kotlin. (I025cb).
  • Marca las funciones de fábrica del modificador como @Stable. (Ib109f).

Versión 1.2.0-alpha11

15 de noviembre de 2023

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

Nuevas funciones

  • Implementa PullToRefreshContainer y PullToRefreshState, que juntos proporcionan una implementación de la función de deslizar para actualizar en Material3. (I16456, b/261760718)

Cambios en la API

  • Marca SwipeToDismissBox DismissDirection y DismissValue como experimentales. (I517b0).
  • Se cambió el nombre de SwipeToDismiss por SwipeToDismissBox. Se cambió el nombre de background por backgroundContent y el de dismissContent por la lambda content final. (I7f4d3)
  • Se hizo público el constructor de ChipElevation y SelectableChipElevation. (Ie0c48, b/308432421).
  • Se agregó ModalBottomSheetProperties. Se movió securePolicy a ModalBottomSheetProperties. Se agregaron isFocusable y shouldDismissOnBackPress a ModalBottomSheetProperties. Estos nuevos valores booleanos ayudan a determinar cómo la hoja inferior modal debe controlar los eventos del IME. (Iea56f, b/278216859).
  • Se actualizaron los estados RangeSlider y Slider para quitar initialOnValueChange, los prefijos iniciales y los kdocs adecuados. (I57d30).
  • Se dio de baja la clase ChipBorder y sus llamadas a funciones asociadas. Te recomendamos que uses BorderStroke directamente. (I89cc2).
  • Las APIs de Foundation Tooltip ahora son @ExperimentalFoundationApi. (I30b0b).
  • TabRow y ScrollableTabRow ya no están disponibles. Las nuevas variantes principales y secundarias se marcan como experimentales. (I0def6).
  • Los chips de filtro y entrada ahora usan BorderStroke directamente. (I07a8d).
  • SegmentedButton ahora usa BorderStroke directamente. (I89b9b).
  • Se cambió el nombre de la función genérica AlertDialog a BasicAlertDialog y se dio de baja la función anterior. (Idbe52).
  • Cambia el nombre de las APIs de SwipeToDismiss a SwipeDismiss y promociona las nuevas APIs de SwipeDismiss a estables. (I14cbe).
  • Se agregaron tonalElevation y shadowElevation a las APIs de la herramienta de ayuda. Además, se volvieron a mover las APIs de TooltipBox, PlainTooltip y RichTooltip a experimentales, ya que se lanzaron accidentalmente como estables. (If0f66, b/293939035)
  • Se ascendieron las APIs de chips experimentales a estables. (Iea2c3).
  • Se quitó la anotación @ExperimentalMaterial3Api de las tarjetas en las que se puede hacer clic de Material3. (I88dbf).

Correcciones de errores

  • Se solucionó un problema por el que SwipeToDismiss fallaba en ciertas situaciones con diseños anidados de Lookahead y Lazy. (Ica8d1, b/297226562).

Versión 1.2.0-alpha10

18 de octubre de 2023

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

Cambios en la API

  • Se asciende Badge y BadgedBox a estable. (I67f16, b/261565132)
  • Se agregó securePolicy como parámetro a ModalBottomSheet para que los usuarios puedan definir el comportamiento de WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262).
  • Se agregaron nuevas sobrecargas de LinearProgressIndicator y CircularProgressIndicator que toman progress como una lambda. Estos deberían tener un mejor rendimiento que las versiones anteriores. (I824e6, b/295616656).
  • Se cambió el nombre de StandardSizeClasses a AllSizeClasses. (I8cb07).
  • Combina las funciones de cálculo de las clases de tamaño de ventana. (Iad935)

Correcciones de errores

  • Se corrigió una falla de DatePicker cuando se hacía clic rápidamente en los botones de flecha de navegación cuando el mes que se mostraba estaba al borde del rango de años permitido. (I46f36, b/290954897, b/297002119).
  • [Barra/riel de navegación] Se admite el color transparente para el indicador. (Ie0a9b, b/267289987).

Versión 1.2.0-alpha09

4 de octubre de 2023

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

Cambios en la API

  • Se migraron ModalNavigationDrawer y DismissibleNavigationDrawer para usar las nuevas APIs de AnchoredDraggable. Se reemplazó el elemento animateTo de DrawerState por los métodos de apertura y cierre, y el desplazamiento ahora se expone como un número de punto flotante en lugar de un objeto de estado. Puedes acceder al desplazamiento directamente a través de currentOffset. (I0a72c).
  • Se agregaron funciones no componibles para crear un DatePickerState y un DateRangePickerState directamente. Estas funciones se pueden usar como alternativa a las funciones rememberDatePickerState y rememberDateRangePickerState de componibilidad cuando sea necesario. (I70326, b/291524052).
  • Los elementos TabRows fijos y desplazables ahora tienen variantes principales y secundarias. Se asignan correctamente al comportamiento del color y del indicador como se define en Material3.
  • PrimaryScrollableTabRow y SecondaryScrollableTabRow ahora exponen el estado de desplazamiento. (Iec8f5, b/260572337).
  • Se agregó un nuevo parámetro sheetMaxWidth que los desarrolladores pueden configurar para especificar un ancho máximo que abarcará la hoja. Se puede pasar Dp.Unspecified para el parámetro si se desea una hoja que abarque todo el ancho de la pantalla. (Ifb7c9, b/266697696).
  • Se volvieron a agregar las APIs de PlainTooltipBox y RichTooltipBox como métodos obsoletos. (I246fa)

Correcciones de errores

  • Se corrigió una falla cuando se inicializa DatePicker con un DatePickerFormatter que tiene ciertos esqueletos de fecha que permanecen iguales cuando se convierten en patrones de fecha (como AAAA). (I01f29).

Versión 1.2.0-alpha08

20 de septiembre de 2023

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

Cambio rotundo de comportamiento

  • ColorScheme ahora es inmutable, lo que hace que las actualizaciones de colores individuales sean menos eficientes, pero que el uso más común de los colores sea más eficiente. El motivo de este cambio es que la mayoría de las apps no tendrían la actualización de colores individuales como caso de uso principal. Esto sigue siendo posible, pero se volverá a componer más que antes. A su vez, disminuiremos significativamente la cantidad de suscripciones de estado en todo el código de Material y afectará el costo de inicialización y tiempo de ejecución de casos de uso más estándar. (Ic447d, b/297212873)
  • La elevación tonal ya no se anima en diferentes estados de interacción para que coincida con las especificaciones. (Icdd12)

Cambios en la API

  • Se agregó un nuevo BottomAppBar que toma como parámetro un BottomAppBarScrollBehavior para ocultarlo automáticamente cuando se desplaza el contenido. También se agregó FabPosition.EndOverlay, lo que permite que el FAB se superponga con la barra de la aplicación inferior en el andamiaje en lugar de anclarse sobre ella. (Iecb47).
  • Se agregó un componente de etiqueta simple que se compila sobre BasicTooltipBox y que no se descarta cuando se presiona fuera de los límites de la etiqueta. (I821f9).

Correcciones de errores

  • Se quitó el uso de rememberSaveable para las herramientas de ayuda. (Icc131, b/299500338)
  • Se introdujo una marca temporal para controlar si Scaffold debe medir sus elementos secundarios durante la medición o durante la colocación. De forma predeterminada, se medirá en medición. Si tienes problemas con el nuevo comportamiento, informa el problema. (I0b354).
  • Se corrigió el diseño horizontal de borde a borde en BottomSheet con la medición correcta para el ancho de la pantalla del dispositivo. (I1df0c, b/299058752)
  • Se corrigió un error por el que ModalBottomSheet no llamaba a onDismissedRequest cuando se lo descartaba deslizando el dedo hacia abajo en la hoja. (Idfdd8).

Versión 1.2.0-alpha07

6 de septiembre de 2023

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

Nuevas funciones

  • Se agregó compatibilidad con íconos de espejo automático en compose material 1.6.0-alpha05. Consulta las notas de la versión para obtener detalles sobre los íconos de espejo automático.

Cambios en la API

  • SliderState implementa DraggableState (I9b116).
  • Se cambió la forma para que sea un parámetro obligatorio. Cambia el nombre de position a index en la función auxiliar de forma. (I34941)
  • Se actualiza el DatePicker formatWithSkeleton para incluir un mapa que se usa como caché para mejorar el rendimiento. (I3195f).
  • Se agregó BasicTooltipBox a compose.foundation y se actualizaron PlainTooltipBox y RichTooltipBox para usar TooltipBox con nuevos elementos componibles PlainTooltip y RichTooltip. (I79e1d)

Correcciones de errores

  • dynamicLightColorScheme y dynamicDarkColorScheme ahora muestran colores de cromatismo más altos para los roles de superficie y surfaceContainer. (I5e901).
  • Se solucionó un problema por el que algunos componentes que usaban Subcomposition (p.ej., BottomSheetScaffold) dentro de un Scaffold dentro de un LookaheadScope intentaban leer su tamaño demasiado pronto. (I297b4, I871f1, b/295536718).

Versión 1.2.0-alpha06

23 de agosto de 2023

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

Correcciones de errores

  • Se corrigió el cálculo de offset de DropdownMenu para que los desplazamientos en X dependan únicamente de la dirección del diseño local, y los desplazamientos en Y ya no se invertirán cuando el menú esté cerca de la parte inferior de la pantalla. (Iccc74, b/294103942).
  • Se corrigió el cálculo de offset de DropdownMenu para que los desplazamientos en X dependan únicamente de la dirección del diseño local, y los desplazamientos en Y ya no se invertirán cuando el menú esté cerca de la parte inferior de la pantalla. (Ib87a2, b/294103942)

Versión 1.2.0-alpha05

9 de agosto de 2023

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

Cambios en la API

  • Se actualizaron los colores de la casilla de verificación y TriStateCheckbox. El CheckboxDefaults.colors() disabledUncheckedColor ahora solo afecta el borde de la casilla de verificación. Los casos especiales que requieren que establezcas el color del cuadro interno cuando está inhabilitado y sin marcar requieren una instancia creada a medida de un CheckboxColors con los valores de color deseados. (I77d17, b/291943198).

Versión 1.2.0-alpha04

26 de julio de 2023

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

Nuevas funciones

  • API experimental de botones segmentados (Ifc8fb)
  • Los divisores ahora tienen un parámetro para controlar la orientación y admitir divisores verticales. (I4c899, b/288438593).

Cambios en la API

  • Trasladaremos la dependencia de densidad al nivel del componente. Esto se aplica a los siguientes componentes: SwipeToDismiss y componentes basados en hojas. Usa la nueva sobrecarga proporcionada en la que density es un parámetro. (I1846e).
  • Anotaciones adicionales para especificar las entradas permitidas en los elementos componibles (Ief234).
  • Agrega un parámetro de ícono al botón segmentado y divide la semántica para que los botones segmentados se puedan seleccionar para implementar la selección única y activar o desactivar para implementar la selección múltiple, con SelectableSegmentedButtonRow y ToggelableSegmentedButtonRow, respectivamente. (I38740)
  • Se cambió el nombre de Divisor a HorizontalDivider. Se agregó la funcionalidad VerticalDivider. (I5975c)
  • Cambia el uso de ClosedFloatingPointRange por el FloatRange más ligero en las APIs experimentales de Material3 para minimizar el autoencapsulamiento. (I4aab5).
  • Se agregó una nueva alineación de inicio para FabPosition (Ib7aea, b/170592777).

Correcciones de errores

Versión 1.2.0-alpha03

21 de junio de 2023

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

Cambios en el comportamiento

  • includeFontPadding ahora es false de forma predeterminada en la tipografía de Material 3. El estilo predeterminado de altura de línea también se cambió a Trim.None y Alignment.Center, y se agregaron lineHeight explícitos (en sp) a los TextStyle de Typography. Consulta la documentación de la API si deseas personalizar estos valores y consulta la entrada de blog para obtener una explicación detallada de estos cambios. (I6266f, Icabc3)

Nuevas funciones

  • Se agregó una sobrecarga para RangeSlider que es una versión con estado del componente. Se creó RangeSliderState que contiene toda la información del segmento activo actual, las mediciones de los componentes de RangeSlider y la lógica de arrastre y gesto. (I8c270)
  • La barra de búsqueda ahora admite sombras a través del parámetro shadowElevation recientemente agregado. (Ia5369, b/271040353)
  • ColorScheme ahora admite nuevos roles de SurfaceContainer.
  • La superposición de elevación tonal de la superficie ahora se puede inhabilitar con el elemento local de composición LocalTonalElevationEnabled. (Ic203c, b/277774590).

Cambios en la API

  • Abre los constructores de colores de componentes. (I8c4a6)
  • Se agregó un parámetro enfocado a ambas APIs de la información sobre herramientas para que los desarrolladores puedan hacer que la información sobre herramientas consuma eventos táctiles o no. Ten cuidado, ya que esto podría interrumpir el recorrido automático del enfoque de accesibilidad. (Ie32d8).
  • Accesibilidad optimizada para el rendimiento y las asignaciones de memoria (Iede48).
  • Se expuso DefaultSizeClasses y se creó StandardSizeClasses para WindowSizeClasses (I91838).
  • Se cambió WindowWidth/HeightSizeClass a clases de valores flotantes (Ie686e).

Correcciones de errores

  • El parámetro contentWindowInsets del andamiaje ahora respeta las inserciones de ventana consumidas. Ten en cuenta que el comportamiento del padding de contenido basado en topBar y bottomBar no cambia cuando se proporcionan estos parámetros. (I08b73, b/264601542).
  • Se corrigió la alineación de la barra superior central de la app para garantizar que un título largo no se renderice sobre los íconos de acción o el ícono de navegación. (I4369f, b/236994621).
  • Las posiciones de tabulación ahora imponen un ancho de contenido mínimo de 24 dp. Esto proporciona un objetivo táctil accesible para los indicadores de pestañas. (Id8861).
  • Las paletas de colores dinámicos de dynamicLightColorScheme y dynamicDarkColorScheme ahora admiten nuevos roles de superficie. (I1252e).
  • Se actualizó la alineación de la notificación de la insignia para que no se recorte cuando entre en conflicto con el elemento superior. (Idf75a).

Versión 1.2.0-alpha02

24 de mayo de 2023

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

Cambios en la API

  • Se agregó el parámetro de inserciones de ventana a ModalBottomSheet.
    • El fondo para ModalBottomSheet ahora se puede dibujar detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para que no se muestre fuera de las barras del sistema, incluida la navegación.
    • El control de desplazamiento proporciona el control de inserción de la barra de estado en el modo de borde a borde.
    • BottomSheetDefaults incluye inserciones de ventana para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162).
  • Indicator dejó de estar disponible, y se agregó Primary/SecondaryIndicator para que coincida con las especificaciones de M3. PrimaryIndicator coincide con el ancho del contenido de la pestaña, mientras que SecondaryIndicator abarca todo el ancho disponible. SecondaryIndicator es equivalente a Indicator, que ahora está obsoleto, y puede ser un reemplazo directo. (I27604).
  • Se agregó una opción para pasar un ScrollState cuando se construye un DropdownMenu o un ExposedDropdownMenu para controlar el estado de desplazamiento vertical de los elementos de menú que se muestran. (Ia0734, b/185304441).
  • Se agregó una sobrecarga para Slider que es una versión con estado del componente. Se creó SliderState que contiene toda la información del segmento activo actual, las mediciones de los componentes de Slider y la lógica de arrastre y gesto. (I124a5).
  • Se cambió el nombre de la propiedad Semantics isContainer a isTraversalGroup (I121f6).
  • Se agregó TextStyle.merge(...) optimizado con una lista completa de parámetros. (Iad234, b/246961787).
  • Se hicieron interfaces públicas TooltipState, RichTooltipState y PlainTooltipState. Se agregaron RichTooltipStateImpl y PlainTooltipStateImpl para los estados predeterminados. Se agregaron funciones remember*State para obtener estos estados implementados. Se quitó TooltipSync a favor de TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Se actualizó DatePickerColors para incluir opciones de personalización adicionales para los colores del divisor del selector de fecha, la navegación y los campos de entrada de texto. (I1a685, b/274626815)
  • DatePickerState y DateRangePickerState ahora son interfaces públicas con implementaciones predeterminadas que pueden recuperar rememberDatePickerState y rememberDateRangePickerState. (I71c52).
  • Se quitó dateValidator de DatePicker y DateRangePicker, y se introdujo una interfaz SelectableDates que se puede configurar en el estado para controlar qué fechas o años se pueden seleccionar en la IU. (Ic2fc6).
  • Se quitó TimePicker de la API estable. Se esperan más cambios en la API de estado (I3f39a).
  • ModalBottomSheet se trasladó solo a Android. No se recomienda ModalBottomSheet para el uso en computadoras de escritorio, y la funcionalidad no se mantiene de forma activa. (Ib3778)

Correcciones de errores

  • Se corrigió la acción de descartar AlertDialog para que aparezca debajo de la acción de confirmación cuando las acciones se apilen una sobre la otra para adaptarse al ancho del diálogo. Esta corrección alinea la implementación con la especificación de Material Design (I029de, b/235454277).
  • Se corrigió el error en ListItem que usaba un padding incorrecto para los elementos de tres líneas. (I6e235).
  • ModalBottomSheet ahora puede mostrar el teclado del IME (Idc508, b/262140644, b/268380384, b/272483584).

Versión 1.2.0-alpha01

10 de mayo de 2023

Lanzamiento de androidx.compose.material3:material3:1.2.0-alpha01 y androidx.compose.material3:material3-window-size-class:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Versión 1.1

Versión 1.1.2

20 de septiembre de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.2 y androidx.compose.material3:material3-window-size-class:1.1.2. La versión 1.1.2 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el modificador que se pasaba de forma incorrecta a dos elementos componibles. (b/282761472).
  • Se corrigió TimePickerState para que muestre horas incorrectas cuando se inicializa con 23 horas. (b/278242122).
  • Se corrigió el estado inicial del botón de activación para la validación del mediodía y los minutos. (b/269768197, b/282790635).
  • Se corrigió state.hour para que muestre el valor incorrecto de las 11 p.m. (b/282761472, b/278242122).

Versión 1.1.1

21 de junio de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.1 y androidx.compose.material3:material3-window-size-class:1.1.1. La versión 1.1.1 contiene estas confirmaciones.

Correcciones de errores

  • Se agrega la llamada a ModalBottomSheet sin el parámetro windowInset para la compatibilidad binaria. (Ib7959).
  • Se agregó el parámetro de inserciones de ventana a ModalBottomSheet.
    • El fondo para ModalBottomSheet ahora se puede dibujar detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para que no se muestre fuera de las barras del sistema, incluida la navegación.
    • El control de desplazamiento proporciona el control de inserción de la barra de estado en el modo de borde a borde.
    • BottomSheetDefaults incluye inserciones de ventana para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162).

Versión 1.1.0

10 de mayo de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0 y androidx.compose.material3:material3-window-size-class:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Funciones principales de la versión 1.1.0

Nuevos componentes de Material Design 3

Se realizaron mejoras en los componentes existentes de Material Design 3.

Se ascendieron las APIs experimentales a estables.

Consulta esta entrada de blog para obtener más detalles.

Versión 1.1.0-rc01

19 de abril de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-rc01 y androidx.compose.material3:material3-window-size-class:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Cambios en la API

  • Se quitó TimePicker de la API estable. Se esperan más cambios en la API de estado (I3f39a).
  • ModalBottomSheet se trasladó solo a Android. No se recomienda ModalBottomSheet para el uso en computadoras de escritorio, y la funcionalidad no se mantiene de forma activa. (Ib3778)

Versión 1.1.0-beta02

5 de abril de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-beta02 y androidx.compose.material3:material3-window-size-class:1.1.0-beta02. La versión 1.1.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • SheetState ahora tiene el parámetro opcional skipHiddenState.
  • rememberStandardBottomSheetState ahora tiene el parámetro opcional skipHiddenState.
  • BottomSheetScaffold ahora tiene un ancla oculta definida, aunque está inhabilitada de forma predeterminada.
  • Se actualizó la documentación de SheetState.requireOffset
  • Se cambió el nombre de BottomSheetDefaults.MinimizedShape a BottomSheetDefaults.HiddenShape (I839f4, b/273870234).

Correcciones de errores

  • No cambies la cara del dial de hora a minutos cuando la exploración táctil esté habilitada. (I717d0).
  • Ahora se combinaron las semánticas de los controladores de arrastre ModalBottomSheet y BottomSheetScaffold. (I05afb).
  • El modificador BottomSheetScaffold y los parámetros containerColor y contentColor ahora solo afectan el contenido. (I992cb).
  • BottomSheetScaffold nestedScroll para el contenido de la hoja ahora implementa deslizamientos. (I992cb).

Versión 1.1.0-beta01

22 de marzo de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-beta01 y androidx.compose.material3:material3-window-size-class:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Agrega el parámetro de tipo de diseño al elemento componible TimePicker. Permite usar diferentes diseños, según la configuración de la pantalla (Ia0e16).
  • Se marcó SearchBarDefaults como experimental. (I65561).
  • Se agregó la elevación de sombras a BottomSheetScaffold (I94e0f).
  • Se agregó compatibilidad para mostrar los selectores de fecha sin la parte del encabezado. Se realizaron cambios en la API para permitir pasar un título nulo cuando se crea un selector de fecha. Ahora puedes pasar un título, un encabezado y un showToggleMode = false nulos para mostrar un selector sin interfaz gráfica. (Id3f3a, b/266132421, b/267194809).

Correcciones de errores

  • Las barras de búsqueda ahora quitan el enfoque automáticamente cuando se vuelven inactivas. (I22a7c, b/261444487).
  • Se actualizó DateRangePicker para permitir seleccionar un rango con la misma fecha de inicio y finalización. (I16529, b/272882497).
  • Los campos de texto ahora posicionan correctamente sus elementos de texto cuando el tamaño de la fuente es más pequeño de lo esperado. Esto puede provocar un cambio de algunos píxeles en tus apps según la configuración de la fuente y la escritura. (I8b8d0)
  • Las acciones semánticas de la hoja inferior ahora tienen etiquetas. (I277b0).

Versión 1.1.0-alpha08

8 de marzo de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha08 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha08. La versión 1.1.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con BottomSheetScaffold y BottomSheetScaffoldState. (I063d4).

Cambios en la API

  • Se agregó funcionalidad a DatePickerState y DateRangePickerState para permitir establecer fechas después de la creación inicial del estado, así como restablecer selecciones configurando marcas de tiempo nulas. La configuración de fechas de forma manual debe realizarse con precaución, y la nueva función setSelection arrojará una excepción en caso de que una fecha proporcionada no cumpla con una precondición (consulta la documentación). (Ifa645, b/268609314, b/270427389).
  • Se cambió el nombre de SheetValue contraido a PartiallyExpanded para representar el comportamiento en este estado de forma más precisa y flexible. (Ia1491)
  • Se actualizaron los nombres de los parámetros ListItem a _content en lugar de _text. Los métodos get predeterminados ahora son ReadOnlyComposables cuando corresponda. (I69a25)
  • Se graduaron las APIs de Surface interactivas de experimentales. (I90d59, b/261561812).

Correcciones de errores

  • Se solucionó un problema por el que el estado HalfExpanded de ModalBottomSheet se calculaba de forma incorrecta y la hoja parecía flotar. (I45e84, b/268411386).
  • Se agregó la verificación de confirmValueChange para el toque de la pantalla en la pantalla en espera de ModalBottomSheet. (I2311a, b/270425759).
  • Se movieron las acciones semánticas BottomSheet al controlador de arrastre. (I158ba).
  • ModalBottomSheet ahora ordena el enfoque en el inicio y controla el botón Atrás. (I4d2ab).
  • ModalBottomSheet onDismissRequest ahora también se controla durante los deslizamientos de desplazamiento anidados. (I655c5, b/268433166).

Versión 1.1.0-alpha07

22 de febrero de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha07 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha07. La versión 1.1.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó un elemento componible de entrada de hora que funciona con rememberTimePickerState() y sigue la especificación de M3 para la entrada de hora (Ia4fab).
  • Se agregó una API de DateRangePicker de Material 3 para seleccionar un rango de fechas. (I7a6c3, b/267194809).
  • Se agregó compatibilidad con el modo de entrada de Material 3 para seleccionar períodos a través de la API de DateRangePicker. (Ifdbc4).
  • Los colores de los campos de texto ahora permiten personalizar lo siguiente:
    • Los colores del campo de entrada y del texto del marcador de posición según el estado de enfoque y error Se cambió el nombre del parámetro textColor por unfocusedTextColor y el de placeholderColor por unfocusedPlaceholderColor.
    • El color del contenedor para los campos de texto rellenos según el estado de error con el nuevo parámetro errorContainerColor.
  • Los colores de los campos de texto del menú desplegable expuestos se actualizaron con parámetros para admitir la nueva API de prefijos y sufijos. (I9c8b4, b/254284181, b/264766350).

Cambios en la API

  • Se revirtieron algunas versiones de la API de Slider y se quitaron las sobrecargas redundantes de Slider que cubre el nuevo Slider experimental con control deslizante y recorrido personalizados. Se asciende RangeSlider a estable. (Ie8fbd).
  • Se cambió el nombre de defaultElevation a elevation en las funciones de elevación del chip. (I0f872)
  • Las siguientes APIs de campos de texto de Material 3 ya no son experimentales: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding y outlinedTextFieldPadding. (Ieb5c0, b/261561819).
  • TimePickers is24Hour usa la configuración del sistema (I18856).
  • Se quitó la anotación experimental de las APIs de andamiaje. (Ibb51e, b/261565765, b/261436953).

Correcciones de errores

  • La forma predeterminada de ModalBottomSheet ahora siempre es SheetDefaults.ExpandedShape. (I0dfca).
  • Se realizaron mejoras de accesibilidad para DatePicker y DateRangePicker de Material 3. (I5087e)
  • Se corrigió el error por el que se propagaba la restricción de altura máxima y podía fallar. (I30d8c).
  • Se quitaron los roles semánticos de las plataformas en las que se puede hacer clic y seleccionar, y se actualizaron los componentes que los usaban para establecer roles con modifier.semantics (I793d9).

Versión 1.1.0-alpha06

8 de febrero de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha06 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Los campos de texto ahora admiten texto de prefijo y sufijo. (Ia8578, b/179884561)
  • Se agregó una función TimePicker para mostrar un selector de hora que sigue la especificación de Material 3, que se usa junto con TimePickerState y el método de conveniencia rememberTimePickerState (I71910).
  • Una entrada de fecha ahora es un modo de visualización en el DatePicker. Se agregó compatibilidad para alternar entre los modos de selector de fecha y entrada de fecha (Ieeff7).
  • Se agregó una API para RichTextTooltips (I58ef3).
  • Implementación modal de hojas inferiores para Material 3, incluidos ModalBottomSheet y ModalBottomSheetDefaults. También se introdujeron SheetState y rememberSheetState, que se pueden usar en componentes de hojas en el futuro (I0853a, b/244189383).

Cambios en la API

  • Se estabilizó el objeto showSnackbar de la API (I195c2, b/261424370).
  • Se estabilizaron las APIs para el chip de asistencia y el chip de sugerencias (Ibb67b, b/261424370).
  • Se ascendieron las APIs de ListItem, ListItemDefaults y ListItemColors a no experimentales (I7e7fa, b/261438882).
  • Se ascendieron SliderPositions, SliderDefaults.Thumb y SliderDefaults.Track a estables y se agregaron APIs no experimentales de Slider y RangeSlider que contienen miniaturas y pistas personalizadas. También dejarán de estar disponibles las APIs de Slider y RangeSlider anteriores (Ie5ea6, b/261566890).
  • Modifier.tooltipAnchor() se hizo público, por lo que los desarrolladores pueden pasarlo al ancla para indicar que se debe mostrar una información sobre la herramienta cuando se mantenga presionado. Se actualizó la API de PlainTooltipBox para que ya no haga que TooltipState sea anulable y ahora tiene un valor predeterminado (Ie2fb7).
  • ProgressIndicatorDefaults.circularTrackColor se marcó como @Composable para mantener la coherencia (Id29cc).
  • Se restableció el método get de propiedad LocalMinimuTouchTargetEnforcement, y se marcó como obsoleto, y redirecciona a LocalMinimumInteractiveComponentEnforcement (I60dd5).

Versión 1.1.0-alpha05

26 de enero de 2023

Se lanzaron androidx.compose.material3:material3:1.1.0-alpha05 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • DatePickerDialog y compatibilidad con accesibilidad
  • Se agregó la miniatura y la pista personalizadas a RangeSlider.

Actualizaciones de dependencias

Versión 1.1.0-alpha04

11 de enero de 2023

Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha04 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Nuevas funciones

  • API inicial de DatePicker para elegir una sola fecha mediante una IU de calendario. Esta API aún se está modificando (I722b9).
  • Se agregó compatibilidad con información sobre herramientas sin formato mediante PlainTooltipBox (I0cdfb).
  • Se agregó una barra de búsqueda (Iad128).
  • Se agregó SwipeToDismiss (I458a8, b/242889540).

Cambios en la API

  • Se agregó la propiedad semántica IsContainer a Surfaces. Esta propiedad se usará en un cambio posterior que determina el orden de recorrido en función del significado semántico de los elementos, como las plataformas (I63379).
  • Se marcaron como estables las APIs relacionadas con el panel lateral de navegación (Iab01e, b/261439597).
  • Se agregó un parámetro de color de seguimiento para los indicadores de progreso circular y un parámetro de limitación de trazo tanto para los indicadores de progreso circular como los de progreso lineal (Ie668c, b/216325962, b/222964817).
  • Se aumentó la nulabilidad de tipo de datos que se muestra de las funciones ocultas obsoletas (Ibf7b0).
  • Se agregó Modifier.minimumInteractiveComponentSize, que puede usarse para reservar al menos 48 dp de tamaño para desambiguar las interacciones táctiles si el elemento fuera más pequeño (I33f58, b/258495559).
  • Se agregó la API experimental para el elemento componible AlertDialog que tiene un espacio de contenido (Iec4a2).

Correcciones de errores

  • El progreso que muestran los indicadores ahora está delimitado correctamente en el rango esperado (I8a7eb, b/262262727).

Problema conocido

  • Cuando actualices de androidx.compose.foundation:1.4.0-alpha03 a androidx.compose.foundation:1.4.0-alpha04, es posible que experimentes un error java.lang.NoSuchFieldError. Aquí es donde originalmente se informó el problema. Se envió una solución, que estará disponible en la próxima actualización de Compose. Como solución, actualiza las bibliotecas androidx.compose.material y androidx.compose.material3 a la versión más reciente (1.1.0-alpha04) o cambia tu androidx.compose.foundation a la versión 1.4.0-alpha03 inferior.

Versión 1.1.0-alpha03

7 de diciembre de 2022

Se lanzaron androidx.compose.material3:material3:1.1.0-alpha03 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se cambió el nombre de consumedWindowInsets() a consumeWindowInsets(), y el de withConsumedWindowInsets() a onConsumedWindowInsetsChanged(), y se cambiaron los modificadores para que sean públicos (Ie44e1).
  • Se agregó un nuevo padding predeterminado de contenido al botón de texto con un ícono para usar (I8f662).
  • Se agregaron colores inhabilitados a la barra de navegación y al riel (Ia7892, b/258867034).
  • Se agregó una API de modificador para consultar información de desplazamiento de principales (I2ba9d, b/203141462).
  • Se usa en Clickable para retrasar correctamente las interacciones de presionar, cuando los gestos pueden convertirse en eventos de desplazamiento.
  • Se corrigió un error donde Clickables no retrasaba correctamente las ondas, cuando se usa dentro de un Scrollable ViewGroup.
  • Se actualizaron los paneles laterales y las hojas de cálculo para retrasar las presiones correctamente en caso de que los gestos se conviertan en eventos de desplazamiento.

Actualizaciones de dependencias

  • Compose UI y Compose Material ahora dependen de Lifecycle 2.5.1 (I05ab0, b/258038814).

Versión 1.1.0-alpha02

9 de noviembre de 2022

Se lanzaron androidx.compose.material3:material3:1.1.0-alpha02 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • awaitFirstDown y waitForUpOrCancellation ahora aceptan un PointerEventPass para lograr una mayor flexibilidad (también se corrigió ExposedDropdownMenuBox, que muestra un menú mientras te desplazas) (I7579a, b/212091796).
  • Se agregó el parámetro minLines al texto de Material y Material 3, TextField y OutlinedTextField, que permiten establecer la altura mínima del componente en términos de cantidad de líneas (I4af1d).
  • La función TopAppBarDefaults smallTopAppBarColors dejó de estar disponible y se reemplazó por una nueva función topAppBarColors que se debería usar cuando se crea un TopAppBar (Ie6cb9).
  • Se agregó el parámetro minLines a BasicText y BasicTextField. Permite establecer la altura mínima de estos elementos componibles en términos de cantidad de líneas (I24294, b/122476634).

Correcciones de errores

  • Se recortó el contenido de IconButton y IconToggleBotton de Material 3 en la forma de la capa de estado del componente (p. ej., una forma circular) (I9da8f).
  • Se actualizaron las barras superiores mediana y grande de la aplicación de Material 3 para aplicar el mismo color de fondo en toda la superficie y permitir que se anulen los colores predeterminados con valores de colores transparentes (I67659, b/249688556, b/250838918).

Versión 1.1.0-alpha01

24 de octubre de 2022

Se lanzaron androidx.compose.material3:material3:1.1.0-alpha01 y androidx.compose.material3:material3-window-size-class:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió la barra superior de la app cuando se aplicaba un título con TextStyle y un Pincel (If667e).

Versión 1.0

Versión 1.0.1

9 de noviembre de 2022

Se lanzaron androidx.compose.material3:material3:1.0.1 y androidx.compose.material3:material3-window-size-class:1.0.1. La versión 1.0.1 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizaron las barras superiores mediana y grande de la aplicación de Material 3 para aplicar el mismo color de fondo en toda la superficie y permitir que se anulen los colores predeterminados con valores de colores transparentes (I67659, b/249688556, b/250838918).

Versión 1.0.0

24 de octubre de 2022

Se lanzaron androidx.compose.material3:material3:1.0.0 y androidx.compose.material3:material3-window-size-class:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la primera versión estable de Compose Material 3.

Temas de Material Design 3 y color dinámico de Material You

Componentes de Material Design 3

Clase de tamaño de la ventana

  • material3-window-size-class es una nueva biblioteca que proporciona compatibilidad con las clases de tamaño de ventana: un conjunto de puntos de interrupción de viewports bien definidos para que puedas diseñar, desarrollar y poner a prueba diseños de aplicaciones de tamaño variable. Puedes usar calculateWindowSizeClass para recuperar una instancia de la clase de tamaño de ventana, que puedes usar a fin de determinar la apariencia de tu IU, por ejemplo, si quieres mostrar un riel de navegación en lugar de una barra de navegación inferior para tamaños de ventana más grandes. Para obtener más información y un ejemplo de uso, consulta la documentación de referencia de la API para WindowSizeClass.

  • Consulta esta entrada de blog para obtener más detalles.

Versión 1.0.0-rc01

5 de octubre de 2022

Se lanzaron androidx.compose.material3:material3:1.0.0-rc01 y androidx.compose.material3:material3-window-size-class:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó el parámetro de ranura para admitir la API de text field (Iaac0d, b/227146125).

Versión 1.0.0-beta03

21 de septiembre de 2022

Se lanzaron androidx.compose.material3:material3:1.0.0-beta03 y androidx.compose.material3:material3-window-size-class:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Cambios en la API

  • ExposedDropdownMenuDefaults ahora expone un valor de padding para los elementos de menú (I34ee1).
  • ExposedDropdownMenuBoxScope ahora tiene un modificador Modifier.menuAnchor() que se debe pasar al campo de texto para un comportamiento de a11y adecuado (I27fa3).
  • Se agregaron dos métodos sobrecargados para la API de Slider actual que permite a los usuarios pasar un pulgar o hacer un recorrido para propagar el control deslizante (I21c00).

Correcciones de errores

  • Se actualizó la asignación de colores del tema oscuro para el contenedor de error en tono 90 (Ic5612).
  • Se hizo una corrección a fin de permitir la configuración de un fondo transparente para las pequeñas barras de la app superiores de Material 3 (I645e2, b/245575782).

Versión 1.0.0-beta02

7 de septiembre de 2022

Se lanzaron androidx.compose.material3:material3:1.0.0-beta02 y androidx.compose.material3:material3-window-size-class:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • Las inserciones de componentes predeterminados que se introdujeron en m3 en la versión beta01 ya no incluyen las inserciones del IME.
  • El componente Scaffold de Material3 ahora tiene un parámetro contentWindowInsets, lo que permite especificar la cantidad de inserciones que se deben controlar para el espacio de contenido (Icf11a, b/243713323).
  • La función experimental SmallTopAppBar de Material 3 deja de estar disponible y se introduce una función TopAppBar equivalente. Migra tu uso al nuevo (I74404, b/226918634).
  • Agrega control sobre los comportamientos de deslizamiento y ajuste de la barra de la aplicación superior (I15c81).
  • Quita startIndent del divisor y mueve el color al último parámetro (If7be2).

Correcciones de errores

  • Hace que los diálogos se identifiquen solos con los usuarios de TalkBack mediante el anuncio de la palabra Dialog cuando se muestran (I857ef).

Versión 1.0.0-beta01

24 de agosto de 2022

Se lanzaron androidx.compose.material3:material3:1.0.0-beta01 y androidx.compose.material3:material3-window-size-class:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Referencia de la API

Para ver los temas, los componentes y otros elementos que admiten composición más recientes disponibles, consulta la descripción general de la referencia de la API de Compose Material 3.

Cambios en la API

  • Se actualizó la barra superior de la aplicación de Material 3 para ajustarla de un estado completamente contraído a uno completamente extendido. Además, se actualizó la función de comportamiento TopAppBarDefaults para que admita composición y proporcione valores predeterminados para el estado de la barra superior de la aplicación y las especificaciones de la animación (I642b3).
  • Se actualizaron las firmas del componente BAF para que coincidan con la API de plataforma (I3afaa).
  • Se agregó compatibilidad integrada de inserciones con las barras superiores de la aplicación, los paneles laterales, la barra de navegación y el riel. Cuando se usen estos componentes por separado o con Scaffold, se controlarán automáticamente las inserciones para los desarrolladores. Nota: Este cambio no agrega la administración automática de los íconos de la barra de estado ni la transparencia de las barras de estado y navegación. Continúa haciéndolo manualmente para garantizar la mejor experiencia de borde a borde (I7e4e6, b/183161866).
  • Se actualizaron los componentes predeterminados a fin de reducir la plataforma de la API y mejorar la flexibilidad y el rendimiento en el futuro (I31820).
  • Se reorganizaron los parámetros de la hoja del panel lateral de navegación y chip para mantener la coherencia dentro de la API (I45d0b).
  • Se quitó startIndent del divisor y se movió el color para que sea el último parámetro (If7be2).

Versión 1.0.0-alpha16

10 de agosto de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha16 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha16. La versión 1.0.0-alpha16 contiene estas confirmaciones.

Nuevas funciones

  • Se admite la especificación de un ancho personalizado en un panel lateral de navegación (Ia7f10).

Cambios en la API

  • Se reordenaron los parámetros de las pestañas y los íconos de Tab y Leading para mantener la coherencia dentro de la API (Ie2637).
  • Se marcó BadgeDefaults como experimental (I98ef3).
  • Se quitó la función de panel lateral de navegación obsoleta (I4f2db).
  • Se reorganizaron los parámetros del control deslizante en Material 3 para mantener la coherencia dentro de la API (I0aee7).
  • Se reordenaron los parámetros NavigationBar y NavigationRail para mantener la coherencia dentro de la API (I51cda).
  • Se reordenaron los parámetros en Material 3 para mantener la coherencia en la API (If4ae1).
  • Se reorganizaron los parámetros del control deslizante en Material 3 para mantener la coherencia dentro de la API (I62673).
  • Se cambió el nombre de los parámetros de íconos por acciones para que sean coherentes con la barra superior de la app (Id75be).
  • Marca Badge y BadgedBox como experimentales porque la alineación del ancla aún está en proceso de entrada (I1712e, b/236524516).
  • Se cambiaron las anotaciones de @ExperimentalMaterial3Api de las variantes del botón de ícono a @OptIn (I070b5).
  • Se separó el contenido de un panel lateral de navegación a su propio elemento de componibilidad para admitir la especificación de un ancho personalizado en él (Ia7f10).
  • Se quitó Divider de MenuDefaults y TabDefaults (I4e33c).

Versión 1.0.0-alpha15

27 de julio de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha15 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha15. La versión 1.0.0-alpha15 contiene estas confirmaciones.

Nuevas funciones

  • Se permite arrastrar la barra superior de la app desde el objeto mismo (I65c00, b/205873416).

Cambios en la API

  • Se actualizaron las APIs de FilterChip y ElevatedFilterChip a fin de quitar el espacio selectedIcon y volver a usar leadingIcon para mostrar un estado seleccionado (Ie5dc2).
  • Agregamos funciones de color de variantes de borde y contorno (Id6d54).
  • Se corrigieron las convenciones de nombres para los valores predeterminados de componibilidad (I62b27).
  • Marca ListItemDefaults y ListItemColors como experimentales (I1f3ec).
  • Cambios en la API de la barra de la app superior para reflejar mejor el significado de sus propiedades de estado. Además, marca la API de la barra superior de la app como experimental (Ic0ad8).
  • Se agregaron colores de selección de texto a TextFieldColors para mejorar la visibilidad (Iba1b8).
  • Agregamos ButtonDefault.ButtonWithIconContentPadding para usarlo con los botones que contienen un ícono (I2bf9c)
  • Los campos de texto se marcaron como experimentales para permitir una mayor flexibilidad en futuros cambios de API (I127b5).
  • Se quitó la anotación @ExperimentalMaterial3Api de la función Checkbox (I5eefc).
  • Se quitó la anotación @ExperimentalMaterial3Api de la función RadioButton (I17e2a).
  • Se quitó la anotación @ExperimentalMaterial3Api de las tarjetas no interactivas (I9bd49).
  • Se actualizaron varios objetos predeterminados de componentes para incluir colores, formas, etc. (I96e11).

Correcciones de errores

  • Se quitaron de las muestras de chips de entrada los íconos finales que no funcionan para evitar que los usuarios se confundan en la app de catálogo (I9846a).

Versión 1.0.0-alpha14

29 de junio de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha14 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha14. La versión 1.0.0-alpha14 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó la implementación de listas de M3. Consulta la documentación para usar la muestra (Id7a20).

Cambios en la API

  • Se cambió el nombre de parámetro de los valores al valor en RangeSlider (I3b79a).
  • La API cambia a la implementación de InputChip para admitir un estado seleccionable según la especificación de Material Design. Se agregó compatibilidad en los colores FilterChip para el estado inhabilitado seleccionado (I55244, b/235792432).
  • Se agregó el BAF predeterminado BottomAppBar (Ida4c8).
  • Se agregó ColorScheme.surfaceColorAtElevation (Id41af).
  • Las interfaces en las bibliotecas de Compose ahora se compilan con métodos de interfaz predeterminados de jdk8 (I5bcf1).
  • WindowWidthSizeClass y WindowHeightSizeClass ahora implementan objetos Comparable, de modo que se puedan comparar con los operadores (<, <=, >=, >) y otras APIs (I747d0).

Correcciones de errores

  • Actualiza la muestra de la insignia para brindar una descripción más significativa del contenido (I10b9d).
  • Se agregó la opción de usar el tamaño de la fuente del sistema al selector de temas del catálogo de Material 3 (I10605).
  • Se agregó código de muestra para la insignia y los indicadores de progreso indeterminados (I8fbe0).

Versión 1.0.0-alpha13

1 de junio de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha13 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha13. La versión 1.0.0-alpha13 contiene estas confirmaciones.

Cambios en la API

  • Se agregó compatibilidad para mantener la posición de la barra superior de la app durante el cambio de configuración (I10459, b/216160958).

Versión 1.0.0-alpha12

18 de mayo de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha12 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Correcciones de errores

  • El control deslizante superior ahora puede tener 0 anchos (b/231707291).

Versión 1.0.0-alpha11

11 de mayo de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha11 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó RangeSlider a Material 3 (I18e38).
  • Se agregó compatibilidad con AssistChip y InputChip de Material3 (I0d25a).
  • Se agregó compatibilidad con FilterChip y SuggestionChip de Material3 (I9fdf3).

Cambios en la API

  • Se cambió el nombre del elemento TextFieldDefaults.BorderStroke que admite composición y que dibuja un trazo de borde de OutlinedTextField a TextFieldDefaults.BorderBox (I5f295).
  • Se realizaron cambios visuales en m3 (Iab30e).
  • Permite pasar colores a los botones de íconos estándar (Ia2445).

Correcciones de errores

  • Se agregó una comprobación de lint a material3/Scaffold para garantizar que se use relleno (I72293, b/226951418).

Versión 1.0.0-alpha10

20 de abril de 2022

Lanzamiento de androidx.compose.material3:material3:1.0.0-alpha10 y androidx.compose.material3:material3-window-size-class:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • material3-window-size-class es una nueva biblioteca que proporciona compatibilidad con las clases de tamaño de ventana: un conjunto de puntos de interrupción de viewports bien definidos para que puedas diseñar, desarrollar y poner a prueba diseños de aplicaciones de tamaño variable. Puedes usar calculateWindowSizeClass para recuperar una instancia de la clase de tamaño de ventana, que puedes usar a fin de determinar la apariencia de tu IU, por ejemplo, si quieres mostrar un riel de navegación en lugar de una barra de navegación inferior para tamaños de ventana más grandes. Para obtener más información y un ejemplo de uso, consulta la documentación de referencia de la API para WindowSizeClass. Si quieres obtener más información sobre las definiciones de la clase de tamaño de ventana, consulta la guía pública sobre la compatibilidad con diferentes tamaños de pantalla.

Cambios en la API

  • Se agregó la elevación predeterminada del BAF para BottomAppBar y se quitó la lambda al final de BottomAppBar con el BAF (I92c47).
  • Se agregaron los elementos FilledIconButton, FilledTonalIconButton y OutlinedIconButton de Material3 (Ib2bda).
  • Se actualizó la API de la barra de notificaciones de Material 3 a fin de aceptar valores de color para la acción opcional y la acción de descarte (Ibe4b4).
  • El consumo parcial (de posición abajo O) ya no está disponible en PointerInputChange. Puedes usar consume() para consumir el cambio por completo. También puedes usar isConsumed para determinar si otra persona ya consumió el cambio.
  • PointerInputChange::copy() ahora siempre hace una copia superficial. Significa que se consumirán copias de PointerInputChange una vez que se consuma una de las copias. Si quieres crear una PointerInputChange no vinculada, usa un constructor (Ie6be4, b/225669674).
  • Cambios en la API de Cards para recibir los colores del contenedor y el contenido a través de una interfaz CardColors. Además, se busca admitir un estado inhabilitado para tarjetas en las que se puede hacer clic (I927df).
  • Se cambió el nombre del parámetro backgroundColor a containerColor en los campos de texto de Material 3 para mejorar la coherencia con otros componentes (I6fbd9).

Correcciones de errores

  • Se actualizó el elemento IconButton estándar para alinearlo con la especificación de Material 3 (I09eab).
  • Se movió la altura de la barra superior del andamiaje de Material 3 al relleno que se pasa al contenido, lo que permite que este último se procese debajo de la barra superior de la app. Si se ignora PaddingValues, es posible que la barra superior oculte el contenido (I83cbc, b/217776202).

Versión 1.0.0-alpha09

6 de abril de 2022

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

Nuevas funciones

  • Se agregó la API de Material 3 Switch. (I2c3ad)

Cambios en la API

  • Se agregó compatibilidad con menús desplegables con campos de texto (también conocidos como "menús desplegables expuestos" o "cuadros combinados"). (I1b832)
  • Se agregó el parámetro de forma al subsistema MaterialTheme y Shape. (I37426)
  • Se agregó un parámetro expandido a ExtendedFloatingActionButton para controlar si el BAF está expandido o contraído, con animaciones entre cada estado. Se agregó la sobrecarga extendida del BAF para los BAF extendidos con texto final para ExtendedFAB sin ícono. (Iba7f1)

Versión 1.0.0-alpha08

23 de marzo de 2022

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

Nuevas funciones

  • Se agregó compatibilidad con los campos de texto de Material 3. (I795cc, b/199377790)

Cambios en la API

  • Se agregó un divisor predeterminado para el menú. (I01374)
  • Se agregó el parámetro de color surfaceTint a la clase ColorScheme. (I2f558)

Correcciones de errores

  • Se corrigió en el botón de Material3 para leer su valor de estilo de texto predeterminado desde MaterialTheme. (Ie62fc)

Versión 1.0.0-alpha07

9 de marzo de 2022

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

Cambios en la API

  • Actualizaciones en la API de Material 3 que muestran las funciones sobrecargadas para las superficies en las que se puede hacer clic. Además, se agregó una función para admitir superficies seleccionables y que se pueden activar o desactivar (I4bf18).
  • LazyVerticalGrid y LazyHorizontalGrid ahora son estables (I307c0).
  • LazyVerticalGrid/LazyHorizontalGrid y todas las APIs relacionadas se movieron al subpaquete .grid. Actualiza tus importaciones de androidx.compose.foundation.lazy a androidx.compose.foundation.lazy.grid (I2d446).
  • Se revirtió el cambio anterior de depender solo de una View para WindowInsetsControllerCompat y, de nuevo, se requiere una Window, necesaria para administrar algunas marcas de ventana. Se dio de baja ViewCompat.getWindowInsetsController y se reemplazó por WindowCompat.getInsetsController para garantizar que se use la Window correcta (por ejemplo, si la View está en un diálogo) (I660ae, b/219572936).
  • Se agregó una nueva API de LazyVerticalGrid para definir tamaños de ejes cruzados (I17723).

Correcciones de errores

  • Se realizaron actualizaciones en la API de Card para seguir los cambios en la API de Surface (I3c8b9).

Versión 1.0.0-alpha06

23 de febrero de 2022

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

Cambios en la API

  • Se agregó NavigationDrawerItem, que representa un solo destino dentro de los paneles laterales (Ic396f, b/218286829).
  • Se agregaron PermanentNavigationDrawer y DismissibleNavigationDrawer como API experimentales. Son los paneles laterales adecuados para dispositivos con pantallas grandes (I5f8ab, b/218286829).
  • Se agregó compatibilidad con la barra de la app inferior de Material 3 (Ic432a).
  • Se modificó el nombre de NavigationDrawer por ModalNavigationDrawer (I1807d, b/218286829).
  • Se agregaron tokens y clase del control deslizante de Material 3 (I1ccee).
  • Se agregó la implementación de pestaña. Consulta la documentación para ver un ejemplo de cómo se usa (Ie0146).

Correcciones de errores

  • Se solucionó un problema por el que la navegación lineal del lector de pantalla TalkBack seleccionaba un título vacío de la barra de la app superior (Id4690).
  • Se agregó IconSize a FloatingActionButtonDefaults (Ia71cf).
  • Se corrigió un error de botones AlertDialog ocultos cuando se agregaba un texto largo con LazyColumn (Ib2cc9, b/216663029).

Versión 1.0.0-alpha05

9 de febrero de 2022

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

Nuevas funciones

Se agregaron componentes de Material Design 3.

Cambios en la API

  • Se dio de baja la función Surface que toma una devolución de llamada onClick. Las superficies en las que se puede hacer clic deben crearse con una InteractionSource y un Modifier.clickable() (I211c6).
  • Se agregó compatibilidad la con elevación enfocada y presionada de BAF (Ibb584).
  • Se modificó la API de Surface para recibir una InteractionSource que permita controlar su apariencia en diferentes estados (Iafbc8).

Correcciones de errores

  • Se agregaron los colores terciarios faltantes en los esquemas de colores dinámicos (I456c4, b/214588434).

Versión 1.0.0-alpha04

26 de enero de 2022

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

Cambios en la API

  • Se agregó NonRestartableComposable a los métodos que son sobrecargas de métodos existentes sin lógica compleja. De esta manera, se reducen las comprobaciones de memorización generadas por el compilador (es igual a) para todos los parámetros que se repiten en la función interna a la que se llama. (I90490)
  • Se agregó el divisor de Material 3. (Ica5fc)
  • Marca Checkbox y RadioButton con una anotación de API experimental. (Ie44bb)
  • Se agregó compatibilidad con los indicadores de progreso de Material 3. (Iff232, b/205023841)

Correcciones de errores

  • Se actualizó un color inhabilitado del contenedor TextButton's para que sea transparente. (I6b248, b/213339737)

Versión 1.0.0-alpha03

12 de enero de 2022

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

Correcciones de errores

  • Se agregó LocalIndication a MaterialTheme de Material 3. (I7ce4e)
  • Se corrigió el radio de esquina que se aplica a las casilla de verificación. (I38b03, b/175198975, b/202309440)

Actualizaciones de dependencias

  • Ahora depende de Kotlin versión 1.6.10.

Versión 1.0.0-alpha02

1 de diciembre de 2021

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

Nuevas funciones

  • Se agregó compatibilidad con la casilla de verificación y el botón de opción.
  • Se actualizó para que sea compatible con Kotlin 1.6.0.

Cambios en la API

  • Se quitó el panel lateral del andamiaje de Material 3 (I04f51).
  • Se agregó compatibilidad con Checkbox de Material 3 (Id5542).
  • Se agregó compatibilidad con RadioButton de Material 3 (I20334).

Correcciones de errores

  • Se redujo el radio de las ondulaciones de IconButton de 40 dp a 20 dp (I68bbe, b/206674345).
  • La ruta de acceso rápida de la string de puerto para Text cambió desde compose.material (I30b03).
  • Se corrigió el elemento, pero ese botón codificado siempre aparecerá como habilitado (Iea832, b/205335456).

Versión 1.0.0-alpha01

27 de octubre de 2021

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

Nuevas funciones

Temas de Material Design 3 y color dinámico de Material You

Componentes de Material Design 3

Para más información, consulta la sección de Material Design 3 y Material You en la guía sobre temas de Material en Compose.