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
2 de julio de 2025 1.3.2 - - 1.4.0-alpha17

Estructura

Compose es una combinación de siete 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.3.2"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.2"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

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 Common versió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

  • Las APIs del paquete de navegación ya no son experimentales (If62af).

Correcciones de errores

  • Consume las 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)
  • Sella 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

  • Haz que el constructor NavigationSuiteItemColors sea público. (Ica83a, b/324886877)

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 adaptativas de Material3 a las nuevas rutas de acceso del 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 desde navigation-suite (I7eff7).
  • Los componentes de Material3 que exponen un MutableInteractionSource en su API se actualizaron para exponer un MutableInteractionSource anulable que, de forma predeterminada, es nulo. Aquí no hay cambios semánticos: 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 solo creen una instancia de forma diferida cuando la necesiten, lo que mejora el rendimiento en todos estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases null en su lugar. 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 problema por el que el componente de navegación 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 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 historial en la navegación de Scaffold 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 estructuras de paneles (I1b462).

Cambios en la API

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

Correcciones de errores

  • Se corrigió el error por el que 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 los roles de andamio 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 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 separaron las APIs de navegación de las APIs de andamio adaptable. (Ic4045)
  • Se quitó 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 adaptativas de Material3:

APIs de directivas de andamio de panel adaptable de Material3:

APIs de andamio de panel adaptable de Material3:

Compose Material3, versión 1.4

Versión 1.4.0-alpha17

2 de julio de 2025

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

Nuevas funciones

  • Se actualizó la animación del grupo de botones para que se anime al 75% de la animación cuando se hace clic en lugar de cuando se presiona. (593942a, b/423596967)

Correcciones de errores

  • Se corrigió un problema por el que, en algunos casos, un elemento del carrusel podía exceder el tamaño del elemento grande durante los cálculos de diseño, lo que cortaba todo el widget. (I1c3d7, b/397489534)
  • Se corrigió el salto más allá de beforeContentPadding cuando se desplazaban los carruseles con desplazamientos de inicio y finalización que se superponían. (c3d5f3a, b/420618979)
  • Actualiza el comportamiento habilitado de SwipeToDismiss para observar el estado establecido en lugar del actual. Se restablece el comportamiento existente en el que el comportamiento de anclaje solo se inhabilita cuando el componente se establece en un estado descartado. (3844e07, b/425006844)
  • Ahora se puede abrir el menú emergente de ExposedDropdownMenu con la entrada del teclado. También se corrigió el problema que impedía acceder al menú con el teclado en la variación editable. (46ead03)

Versión 1.4.0-alpha16

18 de junio de 2025

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

Nuevas funciones

  • Se agregó un componente de carrusel hero alineado al centro (I6f6d3).

Cambios en la API

  • Implementa la barra de herramientas vertical de anulaciones de XR (Ia1604)
  • Se agregaron funciones de desplazamiento programático a CarouselState (I12f8e).
  • Se agregó ComponentOverride para ModalWideNavigationRail (I4f440).
  • Se agregó ComponentOverride para WideNavigationRail (I6354f).
  • Crear ComponentOverride para HorizontalFloatingToolbar (I51116)
  • Crear ComponentOverride para ShortNavigationBar (I30e24)
  • Se marcaron como obsoletas las referencias de SwipeToDismissBoxState a confirmValueChange. En su lugar, los usuarios deben aprovechar la devolución de llamada onDismissed de la API de SwipeToDismissBox. (Iee780)
  • Se agregó el parámetro userScrollEnabled a los elementos componibles de Carousel. (I1d4d2)
  • Ahora se puede observar el currentItem del carrusel desde CarouselState. (Ie87e9)

Correcciones de errores

  • Se corrigió un problema por el que una forma arbitraria en un FAB que se pasaba a un FloatingToolbar no aplicaba su sombra correctamente. (Icdcc9, b/423336922)
  • Todos los carruseles ahora usan el rol semántico Carousel de forma predeterminada. (I7af12)
  • Se corrigió el movimiento incorrecto del pulgar cuando el estado del control deslizante se actualizaba a través de LaunchedEffect (Id9f31, b/302774166).

Versión 1.4.0-alpha15

20 de mayo de 2025

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

Cambios en la API

  • Se agregó MotionTheme.LocalMotionScheme, composición local. Esto permite acceder al esquema de movimiento del tema desde CompositionLocalConsumerModifierNodes, con currentValueOf(MotionTheme.LocalMotionScheme). (I014b1)
  • El constructor ColorScheme sin roles de color fijos dejó de estar disponible. Migra al constructor que incluye roles fijos. (Iad0ee)
  • El componente de texto de M3 ahora admite TextAutoSize. (I7f524)
  • Se agregó una API para construir variantes de tamaño de botones divididos y se agregaron muestras. (Ice30b)

Correcciones de errores

  • Se solucionó un problema por el que Snackbar y FloatingActionButton se posicionaban de forma incorrecta cuando se habilitaba el modo de borde a borde. Scaffold ahora aplica correctamente las inserciones horizontales a estos componentes. (Ib7c30, b/244400727)
  • Corrige el movimiento de BottomSheet de completamente expandido a parcialmente expandido. El BottomSheet ahora usa el efecto rápido de MotionScheme cuando se oculta o contrae, y el efecto espacial predeterminado cuando se expande. (Ifa46f, b/416063171)
  • El constructor ColorScheme sin roles de contenedor de superficie se marcó como oculto y ya no se recomienda su uso. (Ia7237)
  • Se quitó un requisito de CircularWavyProgressIndicator Size.minDimension > 0, que solía arrojar una excepción, para permitir más flexibilidad. (Ic9418, b/377531195)
  • Los hipervínculos en Text(AnnotatedString) ahora tienen el diseño de Material de forma predeterminada. (I78288, b/339843816)
  • Se corrigió un problema por el que la función toShape() en RoundedPolygon almacenaba en caché una ruta de acceso y causaba un problema cuando se realizaban varias llamadas a createOutline con diferentes tamaños. (I4026d)

Versión 1.4.0-alpha14

7 de mayo de 2025

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

Cambios en la API

  • Se agregó un nuevo elemento AppBarColumn componible que funciona de la misma manera que AppBarRow, pero para el contenido dispuesto en una columna. (Iaf6bd)
  • Se agregó la cantidad máxima de elementos a AppBarRow, lo que es necesario para implementar correctamente la especificación de Material para las barras superiores de la app. (I92ce4)
  • Se agregó un método en TooltipScope para obtener el layoutCoordinates del ancla. Se dejó de usar el método drawCaret porque los desarrolladores pueden usar este nuevo método para obtener los límites del anclaje layoutCoordinates y crear una forma adecuada que contenga un signo de intercalación. (Ia2e12, b/329470609)
  • Se agregó compatibilidad con java.time para los selectores de fecha: Se introdujeron sobrecargas de rememberDatePickerState/rememberDateRangePickerState que aceptan objetos java.time (p.ej., LocalDate inicial, YearMonth). También se agregaron funciones de extensión en los objetos de estado para obtener o establecer valores con tipos como LocalDate y YearMonth. Requiere la API 26 o una versión posterior, o bien desugarización. (I70f29, b/266202516, b/281859606)
  • Agrega el elemento CenteredTrack componible que permite usar un control deslizante con un segmento que comienza desde el centro. (I5b1d6)

Correcciones de errores

  • Se mejoró el rendimiento de los indicadores de progreso ondulados: Los tipos lineales ahora se cargan un 8.5% más rápido con un 11% menos de asignaciones, mientras que los tipos circulares experimentan un aumento de velocidad sustancial del 47% y una reducción del 39% en las asignaciones. (I595d8)

Versión 1.4.0-alpha13

23 de abril de 2025

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

Cambios en la API

  • Se reincorporaron isAppearanceLightStatusBars y isAppearanceLightNavigationBars a ModalBottomSheetProperties como parámetros solo para Android. (Id4bc0)
  • Agrega un elemento AppBarRow componible que controle el desbordamiento de elementos que cabrían fuera de sus límites. (I742bd)
  • Actualiza las APIs de DatePicker y DateRangePicker para solicitar el enfoque cuando se cambia a un modo de entrada de fecha. Reemplazamos el parámetro booleano requestFocus por un parámetro focusRequester opcional que toma un FocusRequester. (I14b69)
  • Se quitaron el modificador y la fuente de interacción de los elementos predeterminados en los que se puede hacer clic y que se pueden activar o desactivar. En su lugar, úsalo como detalle de implementación. (I95ed6)
  • Se actualizó ButtonGroup para que se desborde en un menú desplegable cuando hay demasiados botones para que quepan en la pantalla. (I7b88b)

Correcciones de errores

  • La hoja inferior ahora consume las inserciones superiores cuando es más pequeña que el desplazamiento actual. Esto permite que los usuarios proporcionen inserciones superiores para el comportamiento expandido. BottomSheetDefaults.windowInsets ahora incluye WindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067)
  • Se habilitaron las animaciones de entrada y salida (fundido y deslizamiento) para los íconos o avatares iniciales y los íconos finales de los chips cuando se agregan o quitan. Esto beneficia principalmente a los chips seleccionables (de filtro y de entrada), pero se aplica de forma general. (I9af21)
  • Se corrigió el comportamiento incorrecto del control deslizante de RTL causado por LookaheadScope. (Ieb152, b/408118041)
  • Se corrigió la falla de Bottom AppBar relacionada con el desplazamiento con una IU del sistema oculta. (Ic6140, b/405996228)

Versión 1.4.0-alpha12

9 de abril de 2025

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

Cambios en la API

  • Se quitaron los parámetros específicos de Android de ModalBottomSheetProperties (Iab97f, b/362539765).
  • Se introdujeron funciones de sobrecarga para los valores predeterminados del tamaño del controlador de arrastre (I0ed0d).
  • Agrega nuevas funciones NavigationSuiteScaffold y NavigationSuiteScaffoldLayout para admitir nuevos tipos de diseño y agregar compatibilidad con contenido de acción principal opcional. (Ib262a, b/353144478)
  • Se dejó de usar Modifier.weight con el parámetro de relleno en ButtonGroup. Agrega una versión sin relleno. (Id32bb)
  • Se cambió el nombre de los valores predeterminados de los componentes xSmall- y xLarge- de IconButton para que se escriban extra. (Ib6e0f)
  • Agrega nuevas funciones NavigationSuite, NavigationSuiteItem y NavigationSuiteColors para admitir nuevos tipos de diseño. (I203d6)
  • Agrega un nuevo NavigationSuiteTypes y una nueva función navigationSuiteType que incluyan esas opciones de diseño (If68f9).

Correcciones de errores

  • ColorScheme.contentColorFor ahora asigna surfaceDim a onSurface. (I8891a)
  • Se actualizó la implementación de DateInputTextField para solucionar un problema por el que el campo de entrada no reflejaba la fecha establecida de forma programática. (I6c8d1, b/401143451)
  • Se corrigió el orden del foco de TalkBack para el riel de navegación y el riel de navegación ancho (I6cf6f, b/407048224).

Versión 1.4.0-alpha11

26 de marzo de 2025

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

Cambios en la API

  • Se actualizó el uso de mayúsculas en las propiedades componibles de los objetos predeterminados para el botón y el botón de activación. Agrega métodos en ToggleButtonDefaults y ButtonDefaults para el relleno, las formas, el tamaño del ícono, el espaciado del ícono y el estilo de texto recomendados según la altura del contenedor. (Iea69e)
  • Se quitaron las funciones y constantes experimentales obsoletas de FloatingToolbar. (I8f339)
  • Los componentes de elevación ahora comparten una interfaz común y tienen constructores y propiedades públicos. (Ibb172)
  • Se agregó el modificador animateWidth en ButtonGroupScope, que se deberá usar con los elementos secundarios del grupo de botones para animarlos correctamente. (Ia3bb6)

Correcciones de errores

  • Se corrigió el padding de la barra de herramientas flotante para garantizar el equilibrio visual durante el colapso y se mejoró la flexibilidad para el contenido más grande. (I06c00)

Versión 1.4.0-alpha10

12 de marzo de 2025

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

Cambios en la API

  • TabRowDefaults.tabIndicatorOffset dejó de estar disponible y se reemplazó por TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Se corrigió un error tipográfico en el padding de contenido pequeño en los valores predeterminados del botón. (I19bfe)
  • TabRow y ScrollableTabRow dejaron de estar disponibles y se los reemplazó por las variantes principal y secundaria de cada uno. Las filas de las pestañas principal y secundaria son más precisas y tienen un mejor rendimiento según las especificaciones. (I918e2)
  • Se agregaron rememberSliderState y rememberRangeSliderState. (I8e384)
  • Se agregó shouldAutoSnap a SliderState para controlar el mecanismo de ajuste automático. Inhabilitarlo puede ser útil para las animaciones personalizadas. (I07745)
  • El ancho mínimo de la pestaña de la fila de pestañas desplazable ahora es un parámetro. Las variantes de filas de pestañas principales y secundarias ya no son experimentales. (If6f15, b/226665301)
  • Se hizo pública la clase ExitAlwaysFloatingToolbarScrollBehavior, lo que permite la creación sin composición. (Ibf31c)

Versión 1.4.0-alpha09

26 de febrero de 2025

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

Cambios en la API

  • Se cambiaron los nombres de los campos de configuración de DragHandle en el estado predeterminado, se separaron los estados de presión y arrastre, y se hicieron públicos los tamaños predeterminados. (I787b9)
  • Se realizaron actualizaciones en la API de TowRowsTopAppBar. Se quitó el parámetro lambda expanded y se agregaron parámetros separados para las alturas expandida y contraída. (Idd677, b/306697446, b/229134133, b/268068946)

Correcciones de errores

  • Las barras de navegación inferiores ahora observan el servicio de exploración táctil (p.ej., TalkBack) y mantenerlos visibles siempre que el servicio esté activado. (I4b34d)

Versión 1.4.0-alpha08

12 de febrero de 2025

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

Nuevas funciones

  • Se agregó una API de TimePickerDialog que se puede usar para TimePicker, TimeInput o para tener una versión conmutable. (Id2d83)

  • Nuevas APIs de la barra de búsqueda:

    • Las barras de búsqueda contraídas y las "vistas" de búsqueda expandidas ahora son elementos componibles independientes.
    • SearchBar representa una barra de búsqueda en el estado contraído.
    • ExpandedFullScreenSearchBar y ExpandedDockedSearchBar representan la barra de búsqueda en el estado expandido. Se abrirán en una ventana nueva.
    • SearchBarState para controlar el estado de la barra de búsqueda
    • TopSearchBar para agregar el control de inserciones y el comportamiento de desplazamiento
    • Nueva sobrecarga de InputField que usa SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

Cambios en la API

  • Se admite la transformación de la forma de las esquinas de los botones de íconos cuando se presionan. (I21843)
  • Las APIs de cuadros de decoración o decoradores de campos de texto ya no son experimentales. (I31d95)
  • Se agregaron muestras y valores predeterminados para la variante conectada de ButtonGroup. (I5c8ce)
  • Haz que el parámetro de estado sea el último en NavigationSuiteScaffold y NavigationSuiteScaffoldLayout. (I9cc7b)

Correcciones de errores

  • Se agregaron acciones de accesibilidad personalizadas a FloatingToolbars para que los servicios de accesibilidad ahora puedan expandir o contraer todas las variaciones de FloatingToolbar. La versión con BAF aplica esto al BAF, mientras que la versión sin BAF lo aplica al contenido principal. (I26420)
  • El FloatingToolbars ahora observa el servicio de exploración táctil (p.ej., TalkBack) y mantener la barra de herramientas expandida y visible siempre que el servicio esté activado. (I02172)
  • Se corrigió una falla en los indicadores de progreso y carga en caso de que se pase un Float.NaN como progreso. (I4fa96, b/352364576)

Versión 1.4.0-alpha07

29 de enero de 2025

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

Nuevas funciones

  • Se agregó más flexibilidad para personalizar la apariencia de las casillas de verificación con una nueva API. Esta API proporciona parámetros de trazo que permiten un mayor control sobre cómo se renderizan la marca de verificación y el contorno de la casilla de verificación. (I65a88)
  • Se agregó la API de TwoRowsTopAppBar, una alternativa más personalizable a las barras de la aplicación medianas y grandes para crear barras superiores de la aplicación de dos filas. Ahora los desarrolladores tienen control sobre el contenido de los títulos y subtítulos en los estados contraído y expandido, con alturas personalizables para cada estado. (I0be3c, b/306697446, b/229134133, b/268068946)

Cambios en la API

  • Se cambió el nombre de una variación experimental BottomAppBar a FlexibleBottomAppBar, lo que proporciona más control sobre la disposición y la altura del contenido. (Iaa448)
  • Se actualizó la nomenclatura de las propiedades en el objeto predeterminado Button Group a CapitalCase. Actualiza el nombre de animateFraction para que sea más preciso en relación con el comportamiento que representa. (I545cd)
  • Se agregaron sobrecargas para botones comunes que permiten formas animadas en la interacción de presión. Se agregaron formas de botones almacenadas en caché. (I5ec20)
  • Ahora puedes controlar cómo reacciona un FloatingToolbar con un FAB al desplazamiento proporcionando un FloatingToolbarScrollBehavior. En el caso de las barras de herramientas ubicadas a lo largo de un borde central (como la parte superior o inferior central), recomendamos usar un comportamiento de desplazamiento para ocultar todo el componente cuando se desplaza, lo que genera una apariencia más limpia. Esto también evita que el FAB quede descentrado, lo que podría ocurrir cuando se usa la marca expanded para contraerlo. (I33f67)
  • Se actualizaron las APIs experimentales de TopAppBar para usar Alignment.Horizontal en lugar de un TopAppBarTitleAlignment personalizado cuando se establece la alineación del título y el subtítulo. (I70ca2)
  • Ahora, SliderState#onValueChange es pública para brindarles más control a los usuarios (I104eb).
  • Se introdujo NavigationSuiteScaffoldState para permitir la animación del componente de navegación. También se introducen sobrecargas de NavigationSuiteScaffold y NavigationSuiteScaffoldLayout que tienen un parámetro de estado. (I6a8c9, b/328674235)

Correcciones de errores

  • Se trasladaron las clases IconButtonColors y IconToggleButtonColors de IconButtonDefaults.kt a IconButton.kt. (I3c233)

Contribución externa

  • SliderState#isDragging ahora es pública. (I8458a)

Versión 1.4.0-alpha06

15 de enero de 2025

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

Cambio de comportamiento

  • Se agregó displayCutout al grupo de inserciones que los componentes de Material tienen en cuenta de forma predeterminada para evitar que el contenido se superponga con el corte de pantalla. Este es un cambio de comportamiento que afectará la forma en que los componentes que tienen en cuenta la inserción se comportan alrededor de un corte de pantalla. Esto incluye el valor predeterminado del parámetro WindowInsets para los componentes de Material 3 que tienen en cuenta la inserción y los valores WindowInsets proporcionados en los objetos Defaults del componente para Material 2 y Material 3. Si este cambio causa un comportamiento no deseado, especifica manualmente el parámetro WindowInsets para cada componente. (I43ee9, b/362508045)

Cambios en la API

  • Se realizaron actualizaciones en la API de TopAppBar. Cambia el nombre de las barras superiores de la app medianas y grandes con un subtítulo a *FlexibleTopAppBar. Se unificaron las variaciones de color en una sola función TopAppBarDefault.topAppBarColors() y se agregó un parámetro de color subtitle para aplicarlo a un elemento componible de subtítulo proporcionado (I41b65).
  • Se quitó la API de WideNavigationRailArrangement y se agregó la de Arrangement.Vertical (Id0341).
  • Agrega un VerticalSlider @Composable nuevo. (I2bfba)
  • Se agregó un nuevo objeto Track @Composable que permite especificar esquinas de pista externas personalizadas y sus íconos. (I436a4)
  • Actualiza las APIs de la barra de herramientas flotante para usar el objeto FloatingToolbarColors en lugar de un solo color de contenedor. (I9a054)
  • Se agregó y se usó la nueva anotación experimental ExperimentalMaterial3ComponentOverrideApi (Ia1eaf).
  • Modifier.indicatorLine ahora toma una forma para que el campo de texto controle el recorte. (I8c5f3, b/380704151)
  • Se cambió el nombre de las funciones experimentales FloatingAppBar a FloatingToolbar (I1dbf8).
  • Se agregó un nuevo floatingToolbarVerticalNestedScroll que se puede adjuntar a un contenedor desplazable para actualizar el estado de expansión de la barra de herramientas flotante según un movimiento de desplazamiento que cruza un umbral. (I6d65f)
  • Presentamos una nueva API para crear una barra de herramientas flotante con un botón de acción flotante (BAF) adjunto. La API proporciona opciones de personalización flexibles, lo que te permite organizar la barra de herramientas de forma horizontal o vertical, y colocar el botón de acción flotante al principio o al final de la barra de herramientas. (I9e350)

Correcciones de errores

  • Se corrigió un problema de accesibilidad de Snackbar que hacía que se anunciara al descartarse cuando TalkBack está activado. (/I9db53)

Contribución externa

  • Se estandarizó BasicTooltip en foundation y BasicTooltip/Tooltip en material3. (Ifc2e6)

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 de una enumeración para mejorar la legibilidad (I2d6ab).
  • Se cambió la API de SplitButton de clase de datos a clase para la compatibilidad binaria. (I53812)
  • Se agregó una API de Tooltip que tiene un parámetro onDismissRequest para que los creadores puedan decidir qué sucede cuando un usuario hace clic fuera de la sugerencia. Se dejó de usar la API anterior que no contiene este parámetro nuevo. (I99aef)
  • Se cambió el nombre de opticalCentering a horizontalCenterOptically. El modificador se volvió interno. Se reemplazó el parámetro de padding por el desplazamiento máximo de inicio y finalización. (I0b904)
  • Cambia WideNavigationRailState para que tenga el valor actual o de destino, y quita las enumeraciones en favor de los valores booleanos. (Idfa29, b/356039090)
  • Agrega NavigationBarItemComponentOverride. (I3a06a)

Correcciones de errores

  • Se corrigieron los comportamientos de las barras de la app superior e inferior para que cambien de color de manera confiable cuando se desplaza el contenido hasta el final. (Idc4e8, b/293665988)
  • Las funciones de comportamiento de desplazamiento para las barras superior e inferior de la app ahora devuelven un comportamiento recordado para mejorar el rendimiento en las recomposiciones. (I0fdbe, b/207957336)
  • Ahora, el parámetro del modificador 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 que se aplican los modificadores. (I8d83f)
  • La hoja inferior expandida permanece expandida cuando cambia el tamaño. (I2870b, b/324934884)
  • Se enrutan correctamente los parámetros de la barra de estado y de navegación para las propiedades de las ventanas. (Ie674d, b/362539765)
  • Se movió el parámetro del modificador a la raíz de los elementos Scaffold, como se indica en la documentación. Esto alinea la implementación con M2. (I0235e, b/372311595)

Contribución externa

  • Se generalizó 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 y así sucesivamente 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 introdujo WideNavigationRailState para controlar el colapso y la expansión del riel, se permitió que ModalWideNavigationRail se pueda descartar y se borró DismissibleModalWideNavigationRail. (I88568)
  • Se agregaron valores predeterminados de tamaño xSmall, medium, large y xLarge a los valores predeterminados del botón de activación. (Ie95d1)
  • Se agregaron los valores predeterminados de tamaño xSmall, medium, large y xLarge 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. Se actualizaron todos los colores del contorno del chip de Contorno a Variante de contorno, 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 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 la barra de navegación. De forma predeterminada, estos 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 para 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)
  • Almacena en caché los valores predeterminados de la forma en el objeto Shape. Establece la forma predeterminada @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

  • Se optimizó el comportamiento de Scaffold contentPadding para evitar la recomposición constante del contenido del cuerpo cuando cambia 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 el DatePicker en el modo de entrada en el que los errores de validación podían provocar 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 actualizaron los selectores de fecha para garantizar el uso coherente de la configuración regional en todo 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 la propiedad Locales directamente en el estado, es tu responsabilidad asegurarte de que los textos del título y del encabezado se localicen de manera adecuada, ya que su texto predeterminado se seguirá aplicando según la propiedad Locale predeterminada de la plataforma. (I37073, b/326490763, b/321657276)
  • Ahora se expone SheetState.isAnimationRunning. (I9a3d7)
  • DatePickerColors ahora tienen prioridad correctamente sobre cualquier color en conflicto definido en los estilos de texto de tipografía del tema. También ten en cuenta 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 del texto del encabezado y el título. (I30d03, b/347031394)
  • Se cambió el nombre de SplitButton a SplitButtonLayout y se quitaron las APIs de variantes de color de SplitButton. Las variantes se lograrán reutilizando las variantes de botones proporcionadas por 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 Tooltips enriquecidas y simples. De forma predeterminada, se establece en la especificación de diseño de 200 dp para las Tooltips simples y 320 dp para las Tooltips enriquecidas. (I30ce9)

Correcciones de errores

  • Los elementos 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)
  • [Hoja inferior] Se cambió la prioridad de la devolución de llamada a PRIORITY_DEFAULT para permitir que se cierre primero el teclado del IME. (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 corrigió un problema del selector de fecha para actualizar la IU cuando se aplica una instancia de 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 eso, deberás agregar explícitamente esa dependencia 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 revertir el 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 actualizaron el color del contenedor y el contenido para FilledIconToggleButtonColors y FilledTonalIconToggleButtonColors. (Ic5d0f)
  • Se actualizó el color del borde de 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 una 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. Usar alwaysMinimize permite que el patrón de 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ñas. (I7e22d)
  • Se agregó un alcance a las etiquetas de los campos de texto para consultar el progreso de la animación. (If5ec8)
  • Se agregó compatibilidad con MotionEvent.CLASSIFICATION_DEEP_PRESS en la información sobre herramientas. (I62e6a)
  • El isAfternoon de TimePickerState ahora es un val 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 tipos enfatizadas. (Ifa13c)
  • Se agregó la API de ModalWideNavigationRail y se cambió el nombre de las APIs de ModalExpandedNavigationRail a DismissibleModalWideNavigationRail. (Ic9118)
  • Se actualizó FloatingAppBarScrollBehavior para que calcule automáticamente el screenOffset y no requiera un @Composable. (Idf349)
  • Se realizaron actualizaciones en la API de LoadingIndicator para corregir la denominación en su objeto de valores predeterminados. Se agregó una constante LoadingIndicatorElevation en PullToRefresh. (I1d72b)
  • Se realizaron actualizaciones en la API de LoadingIndicator para corregir la denominación en su objeto de valores predeterminados. 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 agregó compatibilidad para cambiar la forma de un botón de activación con ícono según su estado de presión o selección. (Ibc781)
  • Se actualizó la clase de tipografía para admitir escalas de tipos enfatizadas. (Ifa13c)
  • La forma de SplitButton se transforma según el estado predeterminado o presionado. Se quitó la API de AnimatedTrailingButton porque la API de TrailingButton puede ofrecer las mismas personalizaciones (I95066).
  • Se agregó un modificador para animar la visualización y el ocultamiento del FAB, p.ej., cuando se desplaza el contenido. (I8338d)
  • Agregamos formas y espaciado de grupos 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 las esquinas inicial y final (I122e2).
  • Se presenta un nuevo MotionScheme de Material para permitir la configuración de 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 del enfoque correcto a los elementos Scaffold componibles secundarios. El orden es topBar, bottomBar, FAB, contenido y barra de mensajes. (I5936b)
  • Se corrigió un problema en DatePicker y DateRangePicker en el que, en ciertos parámetros de configuración regional 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 los tokens de los componentes BAF y menú de BAF (actualizaciones visuales menores en el padding y el texto) (Ib57f3).
  • ModalBottomSheet ahora es el primero en el orden de desplazamiento semántico, seguido de la pantalla de atenuación. (I436f9, b/358594665)
  • Se corrigió el problema por el que la barra inferior de la app no desaparecía por completo cuando se desplazaba bajo la píldora de navegación en el modo de borde a borde (I3ee21).

Compose Material3, versión 1.3

Versión 1.3.2

9 de abril de 2025

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

Correcciones de errores

  • ListItem corrige su cálculo de altura intrínseca y ahora reserva la cantidad adecuada de espacio en el diseño.
  • Se quitó el relleno excesivo de la etiqueta NavigationBarItem y se alineó correctamente con las especificaciones.
  • Corrige el diseño de TabRow en el modo de RTL.

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

  • Los elementos 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 corrigió un problema del selector de fecha para actualizar la IU cuando se aplica una instancia de SelectableDates actualizada. (Iad59a, b/290135807, b/339898760)
  • Se cambió la prioridad de la devolución de llamada de cambio que usan las hojas inferiores a PRIORITY_DEFAULT para permitir que se descarte primero el teclado del IME. (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 de atrás predictivo en U+ (Iccf32, b/281967264, b/304850357).
  • [SearchBar] ahora admite el gesto atrás predictivo en U+ (I657f8).
  • El panel lateral de navegación (ModalDrawerSheet y DismissibleDrawerSheet) ahora admite el gesto atrás predictivo en U+ como opción de participació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 brecha y de detención. (I3058e)
  • Se actualizó ProgressIndicator para mejorar la accesibilidad agregando un indicador de brecha y parada. (I21451)
  • Se agregó un cursor predeterminado para la información sobre herramientas enriquecida y se admite el dibujo de un cursor personalizado dado el elemento LayoutCoordinates de anclaje. (Ifd42c) Cambios rotundos
  • Nuevas APIs de pull-to-refresh:
    • Se simplificó PullToRefreshState para usar valores fraccionarios en lugar de unidades de Dp.
    • El usuario controla el estado de isRefreshing en lugar de PullToRefreshState.
    • Se separó la conexión de desplazamiento anidado de PullToRefreshState. Lo controla 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 que generan interrupciones
  • Se actualizó 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 valores predeterminados de color de superficie y fondo en lightColorScheme y darkColorScheme. (I9db52)
  • Se actualizaron los colores del control deslizante y de ProgressIndicator para seguir las nuevas especificaciones de contraste de no texto. (I26807)
  • Los componentes ahora usan variantes de 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)
  • Los roles de referencia de Surface y Surface container se ajustaron ligeramente, lo que proporciona más tinte en los temas claros y oscuros. (I677a5)
  • Las APIs experimentales pasaron a ser 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 desplazamiento semántico, seguido de la pantalla de atenuación. (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 contenido de BottomSheet o se cortaba en Android N y O (a10a2d).
  • Se aumentaron los límites semánticos del control deslizante para que TalkBack muestre correctamente los indicadores de enfoque alrededor de los pulgares. (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

  • Haz 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 el parámetro enabled sea un valor booleano, en lugar de una expresión 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 trasladó TextLinkStyles a TextStyle y se quitó TextDefaults de Material. (I5477b)

Correcciones de errores

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

Contribución externa

  • Haz 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 con temas y analizar HTML con vínculos con temas. En su lugar, se agregó una clase TextLinkStyles que permite diseñar los vínculos como un parámetro para el 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 pull-to-refresh:

    • Se simplificó PullToRefreshState para usar valores fraccionarios en lugar de unidades de Dp.
    • El usuario controla el estado de isRefreshing en lugar de PullToRefreshState.
    • Se separó la conexión de desplazamiento anidado de PullToRefreshState. Lo controla 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 se hizo que LocalRippleConfiguration acepte valores nulos. Para inhabilitar una propagación, en lugar de proporcionar un RippleConfiguration con isEnabled = false, proporciona null a LocalRippleConfiguration. (I22725)
  • ModalBottomSheet dibuja el scrim con mayor precisión sobre la barra de estado cuando se habilita el modo de borde a borde. El contenido de la hoja inferior modal ahora puede consumir las inserciones de ventana, lo que permite que se vea el contenido sobre la barra de navegación. Se cambió el nombre del parámetro ModalBottomSheet windowInsets a contentWindowInsets para especificar dónde se aplicarán las inserciones, que ya no están vinculadas a la lógica de la ventana. El tipo contentWindowInsets se cambió a una función que devuelve 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 una opción de diseño de estado presionado, además del diseño normal, el diseño de enfoque y el diseño de desplazamiento. Los métodos TextDefaults ahora tienen un argumento pressedStyle para admitir eso. (Ic473f, b/139312671)

Correcciones de errores

  • Los anclajes de arrastre del panel 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 de (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 un 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 expresión lambda drawTick a la API pública para personalizar las marcas si es necesario (I0c048).

Cambios en la API

  • Los vínculos de texto ahora tienen una opción de diseño de estado presionado, además del diseño normal, el diseño de enfoque y el diseño de desplazamiento (I5f864, b/139312671).
  • Se actualizó CarouselItemInfo para exponer un Rect 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 estabilice el BasicTooltip de Foundation. (Icda29)
  • Se agregó un objeto TextDefaults que contiene métodos para construir un LinkAnnotation y analizar una cadena etiquetada con 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 está en desuso. menuAnchor tiene un nuevo parámetro para controlar el estado de enabled. (I55ee6, b/257209915, b/308840226)
  • Se corrigió el color del 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)
  • [Esquematizado]Se cambió el nombre de TextFieldDefaults 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ó la anotación 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 Material 3: HorizontalMultiBrowseCarousel y HorizontalUncontainedCarousel (I88d64).
  • Se actualizaron los paneles laterales de navegación de Compose M3 (ModalDrawerSheet y DismissibleDrawerSheet) para admitir el gesto de retroceso predictivo en U+ como opción de participación (Ie5b0b).
  • Se agregó una nueva API en Icon para permitir el paso del tinte de color como lambda y 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 corrigió un problema que causaba que las barras superiores de la aplicación de una sola línea se recompusieran demasiadas veces al desplazarse por el contenido. Se resolvió un problema por el que MediumTopAppBar truncaba los títulos en dispositivos con ajustes de fuente o pantalla grandes. (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)
  • Se dio de baja LocalMinimumInteractiveComponentEnforcement 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 campos 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

  • Se actualizó 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 valores predeterminados de color de superficie y 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 de la pista del control deslizante. (I9f315)
  • ExposedDropdownMenu ahora se implementa con Popup. El comportamiento debería ser el mismo, excepto que los menús enfocables con campos de texto editables se pueden descartar cuando se escribe en el teclado.

Correcciones de errores

  • Los roles de referencia de Surface y Surface container se ajustaron ligeramente, lo que proporciona más tinte en los temas claros y oscuros. (I677a5)
  • Se actualizaron los colores del control deslizante y de ProgressIndicator para seguir las nuevas especificaciones de contraste de no texto. (I26807)
  • Se actualizó 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 valores predeterminados de color de superficie y 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 estabilizan los estados del control deslizante. Volviendo a convertir State.onValueChangeFinished en un valor. Se une onValueChangeFinished en un rememberUpdatedState. (I82ab2, b/322269951)
  • Los componentes de Navigation ahora usan los nuevos roles de SurfaceContainer. DrawerDefaults ahora proporciona atributos standardContainerColor y modalContainerColor distintos. DrawerDefaults.ModalDrawerElevation ahora es 0.dp. (I7fbac)
  • Quitamos @Stable de los estados de Slider, ya que cambiaremos state.onValueChangeFinished a un var. (Ied34a, b/322269951)
  • La especificación de animación ModalBottomSheet y StandardBottomSheet ahora es un TweenSpec, actualizado desde una animación de resorte. Esto resuelve un problema con un sobrepaso 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 formalmente el color con Surface y TonalElevation ahora usan roles de SurfaceContainer de forma predeterminada, que no se ven afectados por la elevación tonal. (b/304584161)
  • Se corrigió un error que provocaba 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 RTL (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 impreciso. (Ic918a, b/324934900)
  • Asegúrate de que el DatePickerDialog muestre sus botones cuando anides un DateRangePicker o cuando muestre 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)
  • Actualiza el color del contenedor de la hoja inferior y el color del identificador 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)
  • Actualiza el interruptor y los íconos o pistas 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 TopAppBar onScroll ahora es SurfaceContainer. (I41630)
  • El color del contenedor ElevatedCard ahora es SurfaceContainerLow. Color del contenedor de FilledCard.SurfaceContainerHighest (I35141)
  • El color del contenedor ElevatedButton ahora es SurfaceContainerLow. Los FilledIconButton cuando no están seleccionados ahora tienen un color de contenedor de SurfaceContainerHighest. (I792c9)
  • 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 de atrás predictivo en U+ (Iccf32, b/281967264, b/304850357).
  • Se actualizó SearchBar de Compose M3 para admitir el gesto de retroceso predictivo en U+ (I657f8).
  • Se actualizó el control deslizante para mejorar la accesibilidad agregando un indicador de brecha y de detención. (I3058e)
  • Se actualizó ProgressIndicator para mejorar la accesibilidad agregando un indicador de brecha y parada. (I21451)
  • Se agregó un cursor predeterminado para la información sobre herramientas enriquecida. La nueva API de información sobre herramientas enriquecida ahora permite dibujar un cursor personalizado dado el elemento LayoutCoordinates de anclaje. (Ifd42c)

Cambios en el comportamiento

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

Cambios en la API

  • La diversión 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 Material 3 que exponen un MutableInteractionSource en su API se actualizaron para exponer un MutableInteractionSource anulable que se establece de forma predeterminada en null. Aquí no hay cambios semánticos: 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 solo creen una instancia de forma diferida cuando la necesiten, lo que mejora el rendimiento en todos estos componentes. Si no usas el MutableInteractionSource que pasas a estos componentes, te recomendamos que pases null en su lugar. 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 por componente o subárbol de las ondas con valores fijos. Por ejemplo, para cambiar el color de un componente que no controlas o para inhabilitar una propagación para un componente. En la mayoría de los casos, se deben usar los valores predeterminados, ya que estas APIs son una solución alternativa 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 ondulación en material3 que reemplaza la API de rememberRipple que dejó de estar disponible. También se agrega un CompositionLocal temporal, LocalUseFallbackRippleImplementation, para revertir los componentes de Material 3 al uso de las APIs rememberRipple / RippleTheme obsoletas. Se quitará en la próxima versión estable y solo está diseñado para ser una ayuda temporal para la migración en 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 corrigió 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 accesibilidad con el DateRangePicker en el que el título de texto Mes-Año se transmitía como accionable para 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

  • Estabiliza los estados del control deslizante nuevamente. Volviendo a convertir State.onValueChangeFinished en un valor. Se une onValueChangeFinished en un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Quitamos @Stable de los estados de Slider, ya que cambiaremos state.onValueChangeFinished a un var. (I82ba1, b/322269951)
  • Se corrigieron los colores personalizados NavigationBar para que se copien de los valores predeterminados. (80a779, b/326894020)
  • Se corrigió la regresión en ExposedDropdownMenu para que vuelva a ser enfocable (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 interoperabilidad de View-Compose como parte de un cambio para mejorar el 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.

Las APIs experimentales ahora son estables.

Mejoras en el 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 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

  • De forma predeterminada, un error en IconButtonColors asignará disabledContentColor a un alfa (0.38f) de LocalContentColor en lugar del contentColor especificado por el usuario. La solución alternativa es establecer 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 signos de intercalación de la información sobre herramientas para las APIs de Tooltip sin formato. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss y SwipeToDismissValue cambiaron de nombre para incluir _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 se extrae de los roles de color definidos por el sistema. Esto mejora el contraste para el contenido accesible y alinea más el color dinámico con las especificaciones de Material. (I1de96)
  • Se corrigió el control de ModalBottomSheet hacia atrás 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

  • Se marcó TabIndicatorScope como experimental. (I45c88)
  • Se quitaron las APIs experimentales obsoletas para la sugerencia. (I438cb)
  • Cambia las nuevas sobrecargas de TabRow para que no usen subcomposiciones. Esto genera una forma diferente de compilar los indicadores de TabRow con los 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 los elementos DismissState obsoletos Saver y Constructor. El componente SwipeToDismiss, el objeto de estado y el objeto de valores predeterminados se marcaron 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 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 la función de actualizar tirando hacia abajo en Material 3. (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 expresión lambda content final. (I7f4d3)
  • Haz que el constructor de ChipElevation y SelectableChipElevation sea público. (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 de RangeSlider y Slider para quitar initialOnValueChange, los prefijos iniciales y los kdocs correspondientes. (I57d30)
  • Se dejó de usar la clase ChipBorder y sus llamadas a funciones asociadas. Se recomienda usar BorderStroke directamente. (I89cc2)
  • Las APIs de Foundation Tooltip ahora son @ExperimentalFoundationApi. (I30b0b)
  • TabRow y ScrollableTabRow dejaron de estar disponibles. Las nuevas variantes de Primary y Secondary se marcan como experimentales. (I0def6)
  • Los chips de entrada y filtro ahora usan BorderStroke directamente. (I07a8d)
  • Ahora SegmentedButton usa BorderStroke directamente. (I89b9b)
  • Se cambió el nombre de la función genérica AlertDialog a BasicAlertDialog y se dejó de usar la función anterior. (Idbe52)
  • Se cambió el nombre de las APIs de SwipeToDismiss a SwipeDismiss y se promovieron las nuevas APIs de SwipeDismiss a estables. (I14cbe)
  • Se agregaron tonalElevation y shadowElevation a las APIs de la información sobre herramientas. Además, se volvieron a establecer las APIs de TooltipBox, PlainTooltip y RichTooltip como experimentales, ya que se lanzaron por error como estables. (If0f66, b/293939035)
  • Se promovieron las APIs de chips experimentales a estables. (Iea2c3)
  • Se quitó la anotación @ExperimentalMaterial3Api de las tarjetas de Material 3 en las que se puede hacer clic. (I88dbf)

Correcciones de errores

  • Se corrigió un problema por el que SwipeToDismiss fallaba en ciertas situaciones con diseños Lookahead y Lazy 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 ascienden Badge y BadgedBox a estables. (I67f16, b/261565132)
  • Agrega 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. Estas versiones deberían tener un mejor rendimiento que las 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 que se producía cuando se hacía clic rápidamente en los botones de flecha de navegación cuando el mes mostrado estaba en el límite del rango permitido de años. (I46f36, b/290954897, b/297002119)
  • [Barra o riel de navegación] Se agregó compatibilidad con 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 que no admiten composición para crear un DatePickerState y un DateRangePickerState directamente. Estas funciones se pueden usar como alternativa a las funciones de componibilidad rememberDatePickerState y rememberDateRangePickerState cuando sea necesario. (I70326, b/291524052)
  • Los TabRows fijos y desplazables ahora tienen variantes principales y secundarias. Estos se asignan correctamente al comportamiento del color y del indicador, tal como se define en Material 3.
  • 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 que se producía cuando se inicializaba DatePicker con un DatePickerFormatter que tenía ciertos esqueletos de fecha que permanecían iguales cuando se convertían 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 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 recompondrá más que antes. A su vez, disminuiremos significativamente la cantidad de suscripciones de estado en todo el código de Material, lo que afectará el costo de inicialización y de tiempo de ejecución de los casos de uso más estándares. (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 a la barra inferior de la app en el andamiaje en lugar de anclarse sobre ella. (Iecb47)
  • Se agregó un componente Label simple que se basa en 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 sugerencias. (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 la unidad de medida. Si tienes problemas con el nuevo comportamiento, presenta un informe de errores. (I0b354)
  • Se corrigió el borde a borde horizontal en BottomSheet usando 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 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 detalles sobre los íconos de duplicación automática.

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)
  • Actualiza 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 los nuevos elementos PlainTooltip y RichTooltip componibles. (I79e1d)

Correcciones de errores

  • dynamicLightColorScheme y dynamicDarkColorScheme ahora devuelven colores con mayor croma para los roles de superficie y surfaceContainer. (I5e901)
  • Se corrigió 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 de 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 de la casilla interna cuando está inhabilitada y desmarcada 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 experimental de Segmented Button (Ifc8fb)
  • Ahora los divisores tienen un parámetro para controlar la orientación y admitir divisores verticales. (I4c899, b/288438593)

Cambios en la API

  • Trasladaremos la dependencia de la densidad al nivel del componente. Esto se aplica a los siguientes componentes: SwipeToDismiss y los componentes basados en hojas. Usa la nueva sobrecarga proporcionada en la que la densidad es un parámetro. (I1846e)
  • Se agregaron anotaciones adicionales para especificar las entradas permitidas en los elementos componibles (Ief234).
  • Se agregó un parámetro de ícono al botón segmentado, se dividió 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 de Divider a HorizontalDivider. Se agregó la funcionalidad VerticalDivider. (I5975c)
  • Cambia el uso de ClosedFloatingPointRange por el FloatRange más ligero en las APIs experimentales de Material 3 para minimizar el autoboxing. (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. También se cambió el diseño predeterminado de la altura de la línea a Trim.None y Alignment.Center, y se agregaron lineHeight explícitos (en sp) a los TextStyle de Typography. Consulta los documentos de la API si deseas personalizar estos valores y consulta la entrada del 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 agregado recientemente. (Ia5369, b/271040353)
  • ColorScheme ahora admite nuevos roles de SurfaceContainer.
  • 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 de componentes. (I8c4a6)
  • Se agregó el parámetro focusable a ambas APIs de Tooltip para que los desarrolladores puedan hacer que la información sobre herramientas consuma eventos táctiles o no. Ten en cuenta que esto 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 se creó StandardSizeClasses para WindowSizeClasses (I91838).
  • Cambia WindowWidth/HeightSizeClass a clases de valores de punto flotante (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 cambia cuando se proporcionan estos parámetros. (I08b73, b/264601542)
  • Se corrigió la alineación de la barra superior de la app centrada 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 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 nuevos roles de superficie. (I1252e)
  • Se actualizó la alineación de la notificación de insignia para que no se recorte cuando colisiona con el bisabuelo. (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.
    • Ahora se puede dibujar la pantalla de atenuación para ModalBottomSheet detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para que quede fuera de las barras del sistema, incluida la navegación.
    • El control de inserción de la barra de estado se proporciona a través del 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/275486106, b/268433162)
  • Se dejó de usar Indicator y se agregaron Primary/SecondaryIndicator para que coincidan 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á en desuso, 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 Semantics de isContainer a isTraversalGroup (I121f6).
  • Se agregó TextStyle.merge(...) optimizado con la lista completa de parámetros. (Iad234, b/246961787)
  • Se convirtieron TooltipState, RichTooltipState y PlainTooltipState en 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 a favor de un 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).
  • ModalBottomSheet se trasladó solo a Android. No se recomienda ModalBottomSheet para el uso en computadoras, y la funcionalidad no se mantiene de forma activa. (Ib3778)

Correcciones de errores

  • Se corrigió la acción de descarte AlertDialog para que aparezca debajo de la acción de confirmación cuando las acciones se apilan una sobre la otra para ajustarse al ancho del diálogo. Esta corrección alinea la implementación con la especificación de Material Design. (I029de, b/235454277)
  • Se corrigió un 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ó el problema por el que TimePickerState devolvía horas incorrectas cuando se inicializaba con 23 horas. (b/278242122)
  • Se corrigió el estado inicial de activación para la validación de la hora y los minutos. (b/269768197, b/282790635)
  • Se corrigió state.hour para que muestre el valor correcto 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 a ModalBottomSheet sin el parámetro windowInset para la compatibilidad binaria. (Ib7959)
  • Se agregó el parámetro de inserciones de ventana a ModalBottomSheet.
    • Ahora se puede dibujar la pantalla de atenuación para ModalBottomSheet detrás de la barra de estado con windowInsets establecido en cero.
    • Se actualizó la funcionalidad predeterminada de ModalBottomSheet para que quede fuera de las barras del sistema, incluida la navegación.
    • El control de inserción de la barra de estado se proporciona a través del 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/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

Mejoras en los componentes existentes de Material Design 3.

Las APIs experimentales ahora son 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, 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 anclaje oculto definido, aunque está inhabilitado 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 minuto cuando la exploración táctil esté habilitada. (I717d0)
  • Ahora se combinan las semánticas de los identificadores 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 hojas ahora implementa movimientos rápidos. (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 TimePicker componible. Permite usar diferentes diseños según la configuración de la pantalla (Ia0e16).
  • Se marcó SearchBarDefaults como experimental. (I65561)
  • Se agregó elevación de sombra 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 el paso de un encabezado 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 encabezado. (Id3f3a, b/266132421, b/267194809)

Correcciones de errores

  • Las barras de búsqueda ahora borran automáticamente el enfoque cuando se inactivan. (I22a7c, b/261444487)
  • Se actualizó el 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 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 selecciones estableciendo marcas de tiempo nulas. Las fechas se deben establecer manualmente 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 de Collapsed SheetValue 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 corresponde. (I69a25)
  • Las APIs interactivas de Surface dejaron de ser 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 verificación confirmValueChange al toque de scrim para ModalBottomSheet. (I2311a, b/270425759)
  • Se trasladaron las acciones semánticas BottomSheet al controlador de arrastre. (I158ba)
  • ModalBottomSheet ahora dirige el enfoque al inicio y controla el botón de atrás. (I4d2ab)
  • Ahora, ModalBottomSheet onDismissRequest también se controla durante los lanzamientos de desplazamiento anidado. (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 Time Input componible 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 período. (I7a6c3, b/267194809)
  • Se agregó compatibilidad con el modo de entrada de Material 3 para seleccionar rangos de fechas a través de la API de DateRangePicker. (Ifdbc4)
  • Ahora se pueden personalizar los colores de los campos de texto:
    • Los colores del campo de entrada y del texto del marcador de posición según el estado de enfoque y de error Se cambió el nombre del parámetro textColor a unfocusedTextColor y el de placeholderColor a unfocusedPlaceholderColor.
    • Color del contenedor para los campos de texto completados según el estado de error con el nuevo parámetro errorContainerColor.
  • Los colores de los campos de texto de los menús desplegables expuestos se actualizaron 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 se incluyen en el nuevo Slider experimental con pulgar y pista 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 andamios. (Ibb51e, b/261565765, b/261436953)

Correcciones de errores

  • La forma predeterminada ModalBottomSheet ahora siempre es SheetDefaults.ExpandedShape. (I0dfca)
  • Se realizaron mejoras de accesibilidad en DatePicker y DateRangePicker de Material 3. (I5087e)
  • Se corrigió un 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 superficies 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.