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
3 de abril de 2024 1.2.1 - - 1.3.0-alpha04

Estructura

Compose es una combinación de 7 IDs de grupo 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.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05")
}

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 Material 3 Adaptive Navigation Suite versión 1.0

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 módulo. (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 de navigation-suite (I7eff7).
  • Se actualizaron los componentes de Material3 que exponen un MutableInteractionSource en su API para que ahora expongan un MutableInteractionSource anulable que se establezca de manera predeterminada como nulo. No hay cambios semánticos aquí: pasar un valor 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 creen de forma diferida una instancia solo cuando sea necesario, lo que mejora el rendimiento entre estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También se recomienda 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 ocupa toda la pantalla cuando la superficie raíz tiene 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 Material 3 Adaptive versión 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 de 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 el andamiaje del panel (I1b462).

Cambios en la API

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

Correcciones de errores

  • No se recomponía 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 las funciones de andamiaje a alias de ThreePaneScaffoldRole. (I65bd1).
  • Se creó una clase base para las funciones de andamiaje (I4784d).
  • Se quitó el parámetro innecesario del contenido de AnimatedPane (Ibc73b).
  • Se cambia el nombre de collectWindowSizeAsState y 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

  • División de las APIs de navegación de las APIs de andamiaje adaptable (Ic4045).
  • Quitar la clase GutterSize (I785b3).

Correcciones de errores

  • Los paneles de corrección no se cambian cuando no se usa 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 Material 3:

APIs de directivas de andamiaje del panel adaptable de Material3:

APIs de andamiaje del panel adaptable de Material3:

Compose Material3 versión 1.3

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 para evitar la recomposición (I5b5a2).
  • Las APIs de la barra superior de la app ahora admiten alturas personalizadas para las secciones fijas y contraíbles. (Ib8b0c, b/323403446).

Cambios en la API

  • Las APIs de la barra superior de la app ahora admiten alturas personalizadas para las secciones fijas y contraíbles. Se solucionó un problema por el que las barras superiores de la aplicación de una sola línea se recomponían demasiadas veces cuando se desplazaba por el contenido. Se solucionó un problema por el que MediumTopAppBar títulos truncaban en dispositivos con configuración de fuente o visualización 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 están marcados como estables (I5f000).
  • Se quitaron las APIs y las enumeraciones DismissDirection y DismissValue obsoletas. (I89ccd).
  • Se agregó una etiqueta experimental al objeto complementario CarouselState de Carousel. (I94154).
  • LocalMinimumInteractiveComponentEnforcement dejó de estar disponible y se agregó 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 visuales rotundos

  • Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
  • Ajustes pequeños en los valores predeterminados de los colores 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 (valor predeterminado de true) 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 reordenaron los parámetros en el elemento componible Seguimiento del control deslizante (I9f315).
  • Ahora se implementa ExposedDropdownMenu con Popup. El comportamiento debe ser el mismo, excepto que los menús enfocables con campos de texto editables pueden descartarse cuando se escribe con el teclado.

Correcciones de errores

  • Se ajustaron ligeramente los roles del modelo de referencia del contenedor de Surface y Surface, lo que proporciona más tono en los temas claro y oscuro. (I677a5).
  • Se actualizaron los colores del control deslizante y ProgressIndicator para seguir las nuevas especificaciones de contraste sin texto. (I26807).
  • Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
  • Ajustes pequeños en los valores predeterminados de los colores 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. Volviendo a hacer State.onValueChangeFinished un val. Uniendo onValueChangeFinished en una 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 quitó @Stable de los estados de Slider, ya que cambiaremos state.onValueChangeFinished a var (Ied34a, b/322269951).
  • La especificación de la animación ModalBottomSheet y StandardBottomSheet ahora es un TweenSpec, actualizado a partir de una animación de resorte. Esto soluciona un problema de exceso visible. Se quitaron los constructores SheetState sin densidad obsoletos. (I7babc, b/285847707).

Correcciones de errores

  • Los componentes ahora usan variantes SurfaceContainer. Los componentes que calculaban formalmente el color 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úmero flotante puede ser inexacto (Ic918a, b/324934900).
  • Asegúrate de que DatePickerDialog muestre sus botones cuando anides un elemento 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 actualizó el color del contenedor de Hojas inferiores y el color del controlador de arrastre. (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 inhabilitó el interruptor de actualizaciones y se anuló la selección de las pistas o los íconos 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 TopAppBar onScroll ahora es SurfaceContainer. (I41630).
  • El color del contenedor ElevatedCard ahora es SurfaceContainerLow. El color del contenedor de FilledCard de SurfaceContainerHighest. (I35141).
  • El color del contenedor ElevatedButton ahora es SurfaceContainerLow. Cuando no se selecciona FilledIconButton, ahora tiene un color de contenedor de SurfaceContainerHighest. (I792c9).
  • Se actualizó el rol del contenedor de TimePicker y el color de la esfera 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 que admita 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 espacios y detención. (I3058e).
  • Se actualizó ProgressIndicator para mejorar la accesibilidad agregando un indicador de brecha y detención. (I21451).
  • Se agregó un signo de intercalación predeterminado para la información enriquecida de herramienta, la nueva API de información enriquecida ahora permite que se dibuje el signo de intercalación personalizado según el ancla LayoutCoordinates (Ifd42c).

Cambios en el comportamiento

  • Se migraron los componentes de Material para usar las nuevas APIs de ripple y ya no se consultan RippleTheme.

Cambios en la API

  • La diversión drawStopIndicator ahora es pública. (I3f59f).
  • Se marcó la función formatWithSkeleton de DatePicker como interna (Ic65dc).
  • DropdownMenu ahora admite colores, formas, elevación y bordes personalizados. (I8e981, b/289554448, b/301887035, b/283654243).
  • Se actualizaron los componentes de Material3 que exponen un MutableInteractionSource en su API para que ahora expongan un MutableInteractionSource anulable que se establece de forma predeterminada como null. No hay cambios semánticos aquí: pasar un valor 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 creen de forma diferida una instancia solo cuando sea necesario, lo que mejora el rendimiento entre estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases un valor nulo. También se recomienda que realices cambios similares en tus propios componentes. (I41abb, b/298048146).
  • Se agregaron RippleConfiguration y LocalRippleConfiguration para permitir la personalización de ondas por componente o subárbol mediante valores fijos. Por ejemplo, para cambiar el color de un componente que no controlas o para inhabilitar un efecto de ondas en un componente. En la mayoría de los casos, se deben usar los valores predeterminados: estas APIs son una solución de emergencia para la personalización de componentes individuales o subárboles limitados. Para cambios más amplios y sistemas de diseño personalizado, debes crear tu propia onda usando createRippleModifierNode. (I7b5d6, b/298048146).
  • Se agregó una nueva API de ripple en material3 que reemplaza al rememberRipple obsoleto. También se agregó un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de Material3 a fin de usar las APIs rememberRipple / RippleTheme obsoletas Se quitará en la próxima versión estable y solo está diseñada como una ayuda de migración temporal para casos en los que proporciones 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 que esté más cerca del centro del contenido de anclaje con respecto a la esquina superior derecha. (I18a28).
  • Se solucionó un problema de a11y con DateRangePicker en el que el título de texto del mes y año se transmitía como accionable a los usuarios de lectores de pantalla, Accesibilidad con interruptores y Acceso por voz. (I2ac55).
  • Se corrigió el error de orden del parámetro 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

  • Vuelve a establecer los estados del control deslizante. Volviendo a hacer State.onValueChangeFinished un val. Uniendo onValueChangeFinished en una rememberUpdatedState (Ie8fd0, b/322269951).
  • Se quitó @Stable de los estados de Slider, ya que cambiaremos state.onValueChangeFinished a var (I82ba1, b/322269951).
  • Se corrigieron NavigationBar colores personalizados para copiar desde los valores predeterminados (80a779, b/326894020).
  • Se corrigió la regresión en ExposedDropdownMenu para que sea enfocable de nuevo (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

  • En PrimaryTabRow, se introdujo un error de renderización de interoperabilidad de View-Compose como parte de un cambio de mejora del 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 del parámetro mediumTopAppBarColors. (Ibe64a).
  • Se corrigió un error ingresado en 1.2.0-beta02 en CardDefaults.cardColors que no actualizaba contentColor en función del 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 un valor alfa (0.38f) de LocalContentColor en lugar del contentColor especificado por el usuario. La solución alternativa es establecer disabledContentColor de manera explícita. Se solucionará este problema en la próxima versión.

Cambios en la API

  • Se agregó la capacidad para habilitar los signos de intercalación de información sobre la herramienta para las APIs Tooltip sin formato (Ibf767).
  • Se cambió el nombre de SwipeToDismissState, rememberSwipeToDismiss y SwipeToDismissValue para que tengan _SwipeToDismissBox_. (I68d6d).

Correcciones de errores

  • Se corrigió el valor de padding final de ListItem para alinearlo con la especificación (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 se extrae de los roles de color definidos por el sistema. Esto mejora el contraste del contenido accesible y alinea más estrechamente el color dinámico con la especificación de Material (I1de96).
  • Se corrigió el control de retroceso de ModalBottomSheet en Android T/13 y versiones posteriores cuando se ejecuta 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 la herramienta. (I438cb).
  • Cambia las sobrecargas nuevas de TabRow para que no usen subcomposiciones. Esto da como resultado una manera diferente de compilar los indicadores TabRow con los modificadores personalizados proporcionados. (Ife741).
  • Las APIs de DismissDirection y DismissValue dejaron de estar disponibles. Estos se combinaron con SwipeToDismissValue, cuyos valores indican tanto la posición como la dirección de SwipeToDismissBox. DismissState.progress ahora está marcado como FloatRange entre 0.0 y 1.0 Se quitaron DismissState Saver y Constructor, ya que dejaron de estar disponibles. El componente, el estado y el objeto predeterminado de SwipeToDismiss se marcaron como experimentales. (Ib54f2).

Correcciones de errores

  • El indicador predeterminado de 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 Kotlin. (I025cb).
  • Marca las funciones de fábrica de Modifier 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 en conjunto proporcionan una implementación de extracción para actualizar en Material3. (I16456, b/261760718).

Cambios en la API

  • Marca el elemento SwipeToDismissBox DismissDirection y DismissValue como experimentales (I517b0).
  • Se cambia el nombre de SwipeToDismiss a SwipeToDismissBox. Se cambió el nombre de background por backgroundContent y el de dismissContent por la lambda content final (I7f4d3).
  • Haz que el constructor de ChipElevation y SelectableChipElevation sea público. (Ie0c48, b/308432421).
  • Se está agregando ModalBottomSheetProperties. Se está moviendo securePolicy a ModalBottomSheetProperties. Se están agregando isFocusable y shouldDismissOnBackPress a ModalBottomSheetProperties. Estos nuevos 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).
  • La clase ChipBorder y sus llamadas a funciones asociadas dejaron de estar disponibles. En su lugar, se recomienda usar directamente BorderStroke. (I89cc2).
  • Las APIs de Foundation Toolkit ahora son @ExperimentalFoundationApi. (I30b0b).
  • TabRow y ScrollableTabRow dejaron de estar disponibles. Las nuevas variantes principal y secundaria se marcaron como experimentales. (I0def6).
  • Los chips de entrada y filtro 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).
  • Se cambió el nombre de las APIs de SwipeToDismiss a SwipeDismiss y se promueven las nuevas APIs de SwipeDismiss a estables (I14cbe).
  • Se agregaron tonalElevation y shadowElevation a las APIs de información sobre la herramienta. Además, se revirtieron 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 diferidos y de Lookahead anidados. (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 están ascendiendo Badge y BadgedBox a estables (I67f16, b/261565132).
  • Agregar securePolicy como parámetro a ModalBottomSheet, de modo 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 lambda Estas deberían tener un mejor rendimiento que las versiones anteriores. (I824e6, b/295616656).
  • Cambia 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 que se producía cuando se hacía clic rápidamente en los botones de flecha de navegación cuando el mes que se mostraba estaba en el límite del rango de años permitido. (I46f36, b/290954897, b/297002119).
  • [Nav rail/bar] 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 migró 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 de forma directa. Estas funciones se pueden usar como alternativa a las funciones rememberDatePickerState y rememberDateRangePickerState de componibilidad cuando sea necesario. (I70326, b/291524052).
  • TabRows fijo y desplazable ahora tienen variantes primarias y secundarias Estos 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 el 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 que se producía cuando DatePicker se inicializaba con una DatePickerFormatter que tiene ciertos esqueletos de fecha que permanecen iguales cuando se convierten en patrones de fecha (como YY) (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 color individuales sean menos eficientes, pero hace 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 que actualizar los colores individuales como caso de uso principal. Esto aún es posible, pero se recompondrá más que antes. A su vez, disminuimos significativamente la cantidad de suscripciones de estado a través de todo el código de Material y afectará el costo de inicialización y tiempo de ejecución de más casos de uso estándar. (Ic447d, b/297212873).
  • La elevación tonal ya no se anima en los 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 BAF se superponga a la barra inferior de la app en el andamiaje en lugar de fijarse 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 el cuadro de información. (Icc131, b/299500338).
  • Se agregó una función experimental temporal para controlar si Scaffold debe medir sus elementos secundarios durante la medición o durante la colocación De forma predeterminada, esto hará la medición en función de la medición. Si tienes problemas con el nuevo comportamiento, infórmalos. (I0b354).
  • Se corrigió el borde horizontal del borde en BottomSheet con la medida 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 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 los íconos de duplicación automática en compose material 1.6.0-alpha05. Consulta las notas de la versión para obtener información sobre los íconos de duplicación automática.

Cambios en la API

  • SliderState implementa DraggableState (I9b116).
  • Cambia la forma para que sea un parámetro obligatorio. Se cambió el nombre de position a index en la función auxiliar de forma (I34941).
  • Se actualizó el formatWithSkeleton de DatePicker para incluir un mapa que se use 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 croma más altos para las funciones de superficie y surfaceContainer (I5e901).
  • Se corrigió un problema por el que algunos componentes que usaban la subcomposición (p. ej., BottomSheetScaffold) dentro de Scaffold dentro de 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 x dependan solo de la dirección del diseño local, y ya no se reviertan los desplazamientos y 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 x dependan solo de la dirección del diseño local, y ya no se reviertan los desplazamientos y 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

  • Actualizaciones de los colores de la casilla de verificación y de TriStateCheckbox Ahora, CheckboxDefaults.colors() disabledUncheckedColor solo afecta el borde de la casilla de verificación. Los casos especiales que requieren que configures el color del cuadro interno cuando están inhabilitados y desmarcados requieren una instancia construida de forma personalizada 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 de botón segmentado experimental (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 de componente. Esto se aplica a los siguientes componentes: SwipeToDismiss y componentes basados en hojas. Usa la nueva sobrecarga proporcionada, en la que la densidad es un parámetro. (I1846e).
  • Anotaciones adicionales para especificar entradas permitidas a elementos componibles (Ief234)
  • Agrega un parámetro de ícono al botón segmentado, divide la semántica para que los botones segmentados se puedan seleccionar para implementar la selección única y se puedan activar o desactivar para implementar la selección múltiple, con SelectableSegmentedButtonRow y ToggelableSegmentedButtonRow respectivamente. (I38740).
  • Se cambió el nombre del divisor por HorizontalDivider. Se agregó la funcionalidad VerticalDivider. (I5975c).
  • Se cambió el uso de ClosedFloatingPointRange para el elemento FloatRange más liviano en las APIs experimentales de Material 3 a fin de minimizar el ajuste de formato automático. (I4aab5).
  • Se agregó una nueva alineación de Start 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 También se cambió el estilo de altura de línea predeterminado a Trim.None y Alignment.Center, y se agregó lineHeight explícito (en sp) a los TextStyle de Typography Consulta los documentos de la API si quieres 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 de la pista activa actual, las mediciones de los componentes de RangeSlider y la lógica de arrastre y gestos. (I8c270).
  • La barra de búsqueda ahora admite sombras a través del parámetro shadowElevation recién agregado (Ia5369, b/271040353).
  • ColorScheme ahora admite funciones SurfaceContainer nuevas.
  • Ahora se puede inhabilitar la superposición de elevación tonal de la superficie con el elemento local de composición LocalTonalElevationEnabled (Ic203c, b/277774590).

Cambios en la API

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

Correcciones de errores

  • El parámetro contentWindowInsets de Scaffold ahora respeta las inserciones de ventana consumidas Ten en cuenta que el comportamiento del padding de contenido basado en topBar y bottomBar no se modifica cuando se proporcionan estos parámetros. (I08b73, b/264601542).
  • Corrige la alineación de la barra superior central de la app para garantizar que no se renderice un título largo sobre los íconos de acción o el ícono de navegación. (I4369f, b/236994621).
  • Las posiciones de las pestañas ahora aplican 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ámicas de dynamicLightColorScheme y dynamicDarkColorScheme ahora admiten nuevas funciones de superficie (I1252e).
  • Se actualizó la alineación de la notificación de la insignia para que no se recorte cuando se colisione con bisabuela. (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

  • Agrega el parámetro de inserciones de ventana a ModalBottomSheet.
    • Ahora la pantalla de ModalBottomSheet se puede dibujar detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para permanecer fuera de las barras del sistema, incluida la navegación.
    • El control de inserción de la barra de estado se proporciona mediante el controlador de arrastre en el modo de borde a borde.
    • BottomSheetDefaults incluye las inserciones de ventana para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/27618{/27618{/27616)b/27618{/27618).
  • 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 el ancho completo disponible. SecondaryIndicator es equivalente al elemento Indicator 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 de la pista activa actual, las mediciones de los componentes de Slider y la lógica de arrastre y gestos. (I124a5).
  • Se cambió el nombre de la propiedad semántica isContainer a isTraversalGroup (I121f6).
  • Se agregó TextStyle.merge(...) optimizado con la lista completa de parámetros. (Iad234, b/246961787).
  • TooltipState, RichTooltipState y PlainTooltipState se hicieron interfaces públicas. Se agregaron RichTooltipStateImpl y PlainTooltipStateImpl para los estados predeterminados Se agregaron funciones remember*State para obtener estos estados implementados. Se quitó TooltipSync y se reemplazó por un elemento TooltipDefault.GlobalMutatorMutex. (I7813d).
  • Se actualizó DatePickerColors para incluir opciones de personalización adicionales para el divisor del selector de fecha, la navegación y los colores de los campos de entrada de texto. (I1a685, b/274626815).
  • DatePickerState y DateRangePickerState ahora son interfaces públicas con implementaciones predeterminadas que se pueden recuperar con 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).
  • Se movió ModalBottomSheet a Android únicamente. No se recomienda usar ModalBottomSheet en computadoras de escritorio, y la funcionalidad no se mantiene de forma activa. (Ib3778).

Correcciones de errores

  • Se corrigió la acción de descarte de AlertDialog para que aparezca debajo de la acción de confirmación cuando las acciones se apilan una sobre otra para adaptarse al ancho del diálogo. Esta corrección alinea la implementación con las especificaciones de Material Design (I029de, b/235454277).
  • Se corrigió un error en ListItem con un relleno incorrecto para elementos de tres líneas. (I6e235).
  • ModalBottomSheet ahora puede mostrar el teclado 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 manera incorrecta a dos elementos componibles. (b/282761472).
  • Se corrigió TimePickerState que muestra horas incorrectas cuando se inicializa con 23 horas. (b/278242122).
  • Se corrigió el estado inicial de activación para la validación de mediodía y minutos. (b/269768197, b/282790635).
  • Se corrigió state.hour que mostraba un valor incorrecto para 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 agregó una llamada para ModalBottomSheet sin el parámetro windowInset para brindar compatibilidad binaria (Ib7959).
  • Agrega el parámetro de inserciones de ventana a ModalBottomSheet.
    • Ahora la pantalla de ModalBottomSheet se puede dibujar detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para permanecer fuera de las barras del sistema, incluida la navegación.
    • El control de inserción de la barra de estado se proporciona mediante el controlador de arrastre en el modo de borde a borde.
    • BottomSheetDefaults incluye las inserciones de ventana para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/27618{/27618{/27616)b/27618{/27618).

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

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).
  • Se movió ModalBottomSheet a Android únicamente. No se recomienda usar ModalBottomSheet 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 skipHiddenState opcional
  • rememberStandardBottomSheetState ahora tiene el parámetro skipHiddenState opcional
  • 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 por BottomSheetDefaults.HiddenShape (I839f4, b/273870234).

Correcciones de errores

  • No cambies la cara del dial de hora a minuto cuando la exploración táctil esté habilitada. (I717d0).
  • Ahora se combinaron las semánticas del controlador de arrastre ModalBottomSheet y BottomSheetScaffold. (I05afb).
  • Los parámetros BottomSheetScaffold, containerColor y contentColor ahora solo afectan al contenido. (I992cb).
  • BottomSheetScaffold nestedScroll para el contenido de hojas ahora implementa desplazamientos (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, en función de la configuración de la pantalla (Ia0e16).
  • Se marcó SearchBarDefaults como experimental (I65561).
  • Se agregó la elevación de sombra a BottomSheetScaffold (I94e0f).
  • Se agregó compatibilidad para mostrar los selectores de fecha sin la parte de encabezado. Se cambió la API para permitir que se pase un título nulo cuando se crea un selector de fecha Ahora puedes pasar un título, un título 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 borran el enfoque automáticamente cuando están inactivas. (I22a7c, b/261444487).
  • Se actualizó DateRangePicker para permitir la selección de 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 que cambien algunos píxeles en tus apps según la configuración de la fuente y la secuencia de comandos. (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 la configuración de fechas después de la creación inicial del estado, así como el restablecimiento de las selecciones mediante la configuración de marcas de tiempo nulas. Las fechas manualmente se deben configurar con precaución, y la nueva función setSelection arrojará una excepción en caso de que una fecha proporcionada no cumpla con una condición previa (consulta la documentación). (Ifa645, b/268609314, b/270427389).
  • Se cambió el nombre del objeto SheetValue contraído a PartiallyExpanded para mostrar el comportamiento en este estado de manera más precisa y flexible (Ia1491).
  • Se actualizaron los nombres del parámetro ListItem a _content en lugar de _text. Los métodos get predeterminados ahora son ReadOnlyComposables cuando es relevante. (I69a25).
  • Se actualizaron las APIs de Surface interactivas de las 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).
  • Agrega la marca de verificación confirmValueChange a la lámina para presionar por ModalBottomSheet. (I2311a, b/270425759).
  • Mueve las acciones semánticas de BottomSheet al controlador de arrastre. (I158ba).
  • ModalBottomSheet ahora los comandos se centran en el inicio y controlan el botón Atrás (I4d2ab).
  • Ahora, ModalBottomSheet onDismissRequest 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 tiempo que funciona con rememberTimePickerState() y sigue la especificación de M3 para la entrada de tiempo (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 del campo de texto ahora permiten personalizar lo siguiente:
    • Los colores del campo de entrada y del texto del marcador de posición en función del enfoque y el estado de 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 completados en función del estado de error con el nuevo parámetro errorContainerColor
  • Se actualizaron los colores del campo de texto del menú desplegable expuesto con parámetros para admitir la nueva API de prefijo y sufijo. (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 están cubiertas por el nuevo control deslizante experimental con círculo y barra personalizados. Se está ascendiendo RangeSlider para que sea 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 Scaffold. (Ibb51e, b/261565765, b/261436953).

Correcciones de errores

  • La forma predeterminada de ModalBottomSheet ahora es siempre 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 podría fallar (I30d8c).
  • Se quitaron los roles semánticos de las plataformas seleccionables y en las que se puede hacer clic, y se actualizaron los componentes que los usaban para establecer roles con modificador.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

Lanzamiento de 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

Lanzamiento de 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

Lanzamiento de 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

Lanzamiento de 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

Lanzamiento de 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

Lanzamiento de 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

Lanzamiento de 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.