Compose Material 3
androidx.compose.material3
(Puedes ver todos los paquetes de Compose en los documentos de referencia de la API)
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
12 de diciembre de 2024 | 1.3.1 | - | - | 1.4.0-alpha05 |
Estructura
Compose es una combinación de siete IDs de grupos de Maven en androidx
. Cada grupo contiene un subconjunto de funcionalidades objetivo, cada uno con su propio conjunto de notas de la versión.
En esta tabla, se explican los grupos y vínculos correspondientes a cada conjunto de notas de la versión.
Grupo | Descripción |
---|---|
compose.animation | Compila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario. |
compose.compiler | Transforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin. |
compose.foundation | Escribe 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.material | Compila 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.material3 | Compila 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.runtime | Se 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.ui | Son los componentes fundamentales de la IU de Compose necesarios para interactuar con el dispositivo, incluidos el diseño, el dibujo y la entrada. |
Cómo declarar dependencias
Para agregar una dependencia en Compose, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Compose Material3 versión común 1.0
Versión 1.0.0-alpha01
17 de abril de 2024
Lanzamiento de androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
y androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Componentes sin tema que se pueden usar para compilar componentes de Material Design:
- Paleta tonal
- Ícono
- Tamaño del objetivo táctil
Compose Material3 Adaptive Navigation Suite versión 1.0
Versión 1.0.0-alpha07
1 de mayo de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Se hicieron no experimentales las APIs del paquete de navegación (If62af).
Correcciones de errores
- Consume inserciones para el contenido de forma predeterminada (50266df).
Versión 1.0.0-alpha06
17 de abril de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Agrega
containerColor
ycontentColor
aNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720). - Se agregó la función
itemColors
aNavigationSuiteDefaults
. (Idf719, b/328480012). - Se selló
NavigationSuiteScope
. (Iefa57).
Versión 1.0.0-alpha05
6 de marzo de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se hace público el constructor
NavigationSuiteItemColors
. (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 adaptables de Material3 a las nuevas rutas de acceso de los módulos. (Ibc421).
- Migra para usar la versión de Window Manager de las clases de tamaño de ventana. (I3794d)
Versión 1.0.0-alpha03
7 de febrero de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se actualizó el nombre del paquete a navigationsuite desde navigation-suite (I7eff7).
- Los componentes de Material3 que exponen un
MutableInteractionSource
en su API se actualizaron para exponer unMutableInteractionSource
anulable que se establece de forma predeterminada como nulo. No hay cambios semánticos aquí: pasar nulo significa que no deseas elevar elMutableInteractionSource
, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen unMutableInteractionSource
y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas elMutableInteractionSource
que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (I41abb, b/298048146).
Versión 1.0.0-alpha02
13 de diciembre de 2023
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
y androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un
NavigationSuiteType
"None" (If8cb1, b/313688598).
Correcciones de errores
- Se corrigió el componente de navegación que llenaba toda la pantalla cuando la superficie raíz tenía
modifier.fillMaxSize
. (c9cf250, b/312664933).
Versión 1.0.0-alpha01
15 de noviembre de 2023
Lanzamiento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Compose Material3 versión adaptable 1.0
Versión 1.0.0-alpha06
7 de febrero de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron opciones de comportamiento adicionales para la navegación hacia atrás de
ThreePaneScaffoldNavigator
. (I858aa). - Se agregó contenido de destino opcional al historial de navegación. (Ibd7e6).
Versión 1.0.0-alpha05
24 de enero de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con el conocimiento del historial en la navegación del andamiaje y el cálculo de valores (I71d46).
Versión 1.0.0-alpha04
10 de enero de 2024
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad de borde a borde en andamios de paneles (I1b462).
Cambios en la API
- Se movieron las propiedades de límites de bisagra en Posture a una lista de información de bisagra (I24f90).
Correcciones de errores
- Se corrigió el problema por el que no se volvía a componer
AnimatedPane
(c3f573d).
Versión 1.0.0-alpha03
13 de diciembre de 2023
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Cambia los roles del andamiaje a alias de
ThreePaneScaffoldRole
. (I65bd1). - Crea una clase base para los roles de andamiaje (I4784d)
- Se quitó el parámetro innecesario del contenido de
AnimatedPane
(Ibc73b). - Se cambió el nombre de
collectWindowSizeAsState
y, en su lugar, se muestran valores sin procesar (I480f4).
Versión 1.0.0-alpha02
29 de noviembre de 2023
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
y androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se dividieron las APIs de navegación de las APIs de andamiaje adaptable. (Ic4045).
- Se quitó la clase
GutterSize
. (I785b3).
Correcciones de errores
- Se corrigió que los paneles no se cambiaran cuando no se usaba
AnimatedPane
(d88f181).
Versión 1.0.0-alpha01
15 de noviembre de 2023
Lanzamiento de androidx.compose.material3:material3-adaptive:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
APIs de condiciones adaptables de Material3:
APIs de directivas de andamiaje de paneles adaptables de Material3:
APIs de andamiaje de paneles adaptables de Material3:
- APIs básicas del andamiaje de paneles
Compose Material3 versión 1.4
Versión 1.4.0-alpha05
12 de diciembre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.4.0-alpha05
. La versión 1.4.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se reemplazó el tipo en el valor
WideNavigationRailState.current/target
por una enumeración para mejorar la legibilidad (I2d6ab). SplitButton
cambia la API de Shape de la clase de datos a la clase para la compatibilidad binaria. (I53812).- Se agregó una API de la ventana de información que tiene un parámetro
onDismissRequest
para que los creadores puedan decidir qué sucede cuando un usuario hace clic fuera de la ventana de información. Se dio de baja la API anterior que no contiene este parámetro nuevo. (I99aef). - Se cambió el nombre de
opticalCentering
ahorizontalCenterOptically
. Se hizo interno el modificador. Se reemplaza el parámetro de padding por el desplazamiento máximo de inicio y fin. (I0b904). - Cambia
WideNavigationRailState
para que tenga el valor actual o objetivo, quita las enumeraciones en favor de los valores booleanos. (Idfa29, b/356039090). - Agrega
NavigationBarItemComponentOverride
. (I3a06a)
Correcciones de errores
- Se corrigieron los comportamientos de la barra de la aplicación superior e inferior para cambiar el color de forma confiable cuando se desplaza el contenido hasta el final. (Idc4e8, b/293665988).
- Las funciones de comportamiento de desplazamiento para las barras de la aplicación superior e inferior ahora muestran un comportamiento recordado para tener un mejor rendimiento en las recomposiciones. (I0fdbe, b/207957336).
- El parámetro del modificador ahora se aplica después de los modificadores internos, como el comportamiento de arrastre y la semántica, en lugar de antes. Esto afecta el orden en el que se aplican los modificadores. (I8d83f).
- La hoja inferior expandida permanece expandida cuando se cambia el tamaño. (I2870b, b/324934884)
- Se enrutaron correctamente el estado y las marcas de la barra de navegación para las propiedades de ventana. (Ie674d, b/362539765).
- Mueve el parámetro del modificador a la raíz de los andamios, como se documenta. Esto alinea la implementación con M2. (I0235e, b/372311595).
Contribución externa
- Se unificó la función
DatePickerDialog
. (I7dced).
Versión 1.4.0-alpha04
13 de noviembre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.4.0-alpha04
. La versión 1.4.0-alpha04 contiene estas confirmaciones.
Cambios en el comportamiento
- Se revirtieron los cambios de color introducidos en aosp/3212478 a
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
youtlinedIconToggleButtonBorder
. Se trasladó el comportamiento ahora revertido a un nuevo conjunto de funciones llamadasiconButtonVibrantColors
, etcétera, para enfatizar los colores de alto contraste que se muestran. (Iffd8d).
Nuevas funciones
- Se introdujo el componente
VerticalDragHandle
(I6c770).
Cambios en la API
- Se cambió el nombre de
DismissibleModalWideNavigationRailDefaults
porModalWideNavigationRailDefaults
. (I8e877). - Agrega
NavigationBarComponentOverrides
. (I8a3f3). - Agrega
NavigationRailComponentOverride
. (I83e13). - Se agregó
WideNavigationRailState
para controlar la contracción o expansión del riel, permitir queModalWideNavigationRail
se pueda descartar y borrarDismissibleModalWideNavigationRail
. (I88568) - Se agregaron los valores predeterminados de tamaño extrapequeño, mediano, grande y extragrande a los valores predeterminados del botón de activación. (Ie95d1).
- Se agregaron los tamaños predeterminados extrapequeño, mediano, grande y extragrande a los valores predeterminados de los botones. (If8b6d).
Correcciones de errores
- Se actualizó el color del ícono final del chip de filtro de Primario a
OnSurfaceContainer
, según las especificaciones. Todos los colores del contorno del chip se actualizaron de Outline a Outline Variant, según las especificaciones. (I68bd4)
Versión 1.4.0-alpha03
30 de octubre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.4.0-alpha03
. La versión 1.4.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- El constructor
SheetState
con densidad dejó de estar disponible y se lo reemplazó por umbrales de posición y velocidad. (Ifd16e). - Se agregó
rememberTooltipPositionProvider
que contiene una lógica de posicionamiento actualizada. Se dejaron de usarrememberPlainTooltipPositionProvider
yrememberRichTooltipPositionProvider
. (Ie66e2). - Los
ModalBottomSheetProperties
adicionales permiten personalizar los colores de la barra de estado y de navegación. De forma predeterminada, se actualizan según el color del contenido en lugar del estado del tema oscuro del sistema. (Ib874e, b/362539765). - Se mejoró la experiencia de entrada de los selectores de fecha: cuando se está en el modo de entrada, el campo de texto de la fecha se enfocará para la entrada de texto inmediata. El cambio agrega un parámetro
requestFocus
aDatePicker
yDateRangePicker
. Puedes evitar un enfoque pasandofalse
. (I12d09, b/286399710, b/340102743). - Almacenamiento en caché de los valores predeterminados de la forma en el objeto Shape Se establece la forma predeterminada como
@Composable
para el botón de activación. Se contraen las formas en una forma predeterminada, ya que las variantes apuntan al mismo archivo de token. (Iaa014).
Correcciones de errores
- Optimiza el comportamiento de
contentPadding
del andamiaje para evitar que se recomponga siempre el contenido del cuerpo cuando cambiecontentPadding
. (I8c8e2, b/373904168) - Se cambió el nombre de
TextFieldLabelScope
progress
porlabelMinimizedProgress
. - Se cambió el nombre de
TextFieldLabelPosition
Default
aAttached
. Se quitaron los miembros de la interfaz. (If75c6). - Se corrigió un problema con
DatePicker
en el modo de entrada en el que los errores de validación podían hacer que cambiara la altura del componente. (I2e229, b/280462363). - Haz que el control deslizante de material cambie su valor cuando se presionen las teclas de control. (I1c442).
Versión 1.4.0-alpha02
16 de octubre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.4.0-alpha02
. La versión 1.4.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se realizaron actualizaciones en los selectores de fecha para garantizar un uso coherente de la configuración regional en
DatePicker
yDateRangePicker
cuando se establece una configuración regional directamente a través de unDatePickerState
o unDateRangePickerState
. Ten en cuenta que, cuando configuras las configuraciones regionales directamente en el estado, depende de ti asegurarte de que los textos del título y el encabezado estén localizados según corresponda, ya que su texto predeterminado se seguirá aplicando según la configuración regional predeterminada de la plataforma. (I37073, b/326490763, b/321657276). SheetState.isAnimationRunning
ahora está expuesto. (I9a3d7).DatePickerColors
ahora tiene prioridad sobre los colores en conflicto definidos en los estilos de texto de la tipografía del tema. Ten en cuenta también que esta actualización ajusta la posición del parámetrocolor
en las funciones del selector de fecha y presenta un parámetrocontentColor
para personalizar los colores de texto del encabezado y el título. (I30d03, b/347031394).- Cambia el nombre de
SplitButton
aSplitButtonLayout
y quita las APIs de variantes de colorSplitButton
. Las variantes se lograrán reutilizando las variantes de botones que proporcionaSplitButtonDefaults
. (I44c36) ModalBottomSheet
ahora tiene el parámetrosheetGestureEnabled
(I856cb, b/288211587).- Se cambió el nombre de
standardMotionScheme
yexpressiveMotionScheme
a estándar y expresivo. Ahora se puede acceder a ambas funciones a través del objeto complementarioMotionScheme
llamando aMotionScheme.standard()
yMotionScheme.expressive()
. (Iceccf). - Se agregó el parámetro
maxWidth
a las herramientas de ayuda simples y enriquecidas. De forma predeterminada, usa la especificación de diseño de 200 dp para las indicaciones de herramientas simples y 320 dp para las indicaciones de herramientas enriquecidas. (I30ce9)
Correcciones de errores
DatePicker
yDateRangePicker
ahora actualizan correctamente el mes que se muestra cuando se configuran a través deldisplayedMonthMillis
de su estado. (If9e47, b/333414302).- El contenido de
ModalBottomSheet
ahora se aleja de la barra de estado. (I5114c, b/321877275, b/336962418, b/342093067). - [Cuadro inferior] Se cambió la prioridad de devolución de llamada de atrás a
PRIORITY_DEFAULT
para permitir que el teclado del IME se oculte primero. (I447fb). - Se corrigieron las fallas en
DatePicker
yDateRangePicker
cuando el año mínimo seleccionable se establece en un año futuro. (I78656, b/319395747) - Se solucionó un problema del selector de fecha para actualizar la IU cuando se aplica una instancia
SelectableDates
actualizada. (Iad59a, b/290135807, b/339898760).
Versión 1.4.0-alpha01
2 de octubre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Cambios en el comportamiento
- La biblioteca ya no agrega una dependencia a
material-icons-core
, por lo que, si tu proyecto dependía de ella, deberás agregar esa dependencia de forma explícita en tus archivosbuild.gradle[.kts]
. (I735ff, b/349894318). - El color de la etiqueta activa de
NavigationBarItem
yNavigationRailItem
cambia deonSurface
asecondary
para mejorar la usabilidad, el contraste de color y la coherencia dentro del sistema (Ibc297). Para volver al comportamiento anterior, copia los colores predeterminados y cambiaselectedTextColor
aMaterialTheme.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
yOutlinedIconToggleButtonColors
para mejorar el contraste de color. (I2743d) - Se actualizó el color del contenedor y del contenido para
FilledIconToggleButtonColors
yFilledTonalIconToggleButtonColors
. (Ic5d0f). - Se actualizó el color del borde
OutlinedButton
deoutline
aoutlineVariant
. (057f00).
Cambios en la API
- Se agregó un parámetro
reverseLayout
opcional a la funciónenterAlwaysScrollBehavior
deTopAppBar
para admitir mejor el contenido que se configuró con unreverseLayout
. (I4e0e5). SegmentedButton
ahora admite el argumentocontentPadding
. (I5ad91, b/358414376).PullToRefreshState
ya no tiene implementación predeterminada paraisAnimating
(I6a593).- Se agregaron nuevas sobrecargas de
TextField
yOutlinedTextField
de Material que usanTextFieldState
. Se agregaron APIs de cuadros de decoración compatibles conTextFieldDecorator
. (If13a1). - Se agregó un parámetro para controlar el
labelPosition
del campo de texto. El uso dealwaysMinimize
permite que el patrón de la IU muestre una etiqueta y un marcador de posición en un campo de texto al mismo tiempo, incluso cuando el campo no está enfocado. (I1ef2c). - Se agregaron
SecureTextField
yOutlinedSecureTextField
de Material para los campos de entrada de contraseña. (I7e22d). - Se agregó un alcance a las etiquetas de campos de texto para consultar el progreso de la animación. (If5ec8).
- Se agregó compatibilidad con
MotionEvent.CLASSIFICATION_DEEP_PRESS
a las indicaciones sobre herramientas. (I62e6a). isAfternoon
deTimePickerState
ahora es un valor de extensión en lugar de una var en la interfaz, y se cambió su nombre aisPm
(I89a97).- Se actualizó la clase de tipografía para admitir escalas de tipo destacadas. (Ifa13c).
- Se agregó la API de
ModalWideNavigationRail
y se cambió el nombre de las APIs deModalExpandedNavigationRail
aDismissibleModalWideNavigationRail
. (Ic9118) - Se actualizó
FloatingAppBarScrollBehavior
para calcular automáticamentescreenOffset
y no requerir un@Composable
. (Idf349) - Se realizaron actualizaciones en la API de
LoadingIndicator
para corregir los nombres en su objeto predeterminado. Se agregó una constanteLoadingIndicatorElevation
enPullToRefresh
. (I1d72b) - Se realizaron actualizaciones en la API de
LoadingIndicator
para corregir los nombres en su objeto predeterminado. Se agregó una constanteLoadingIndicatorElevation
enPullToRefresh
. (I1d72b) - Se agregaron los parámetros
amplitude
ywaveSpeed
a las variaciones indeterminadas deLinearWavyProgressIndicator
yCircularWavyProgressIndicator
. (I2a0c5). - Se admite cambiar la forma de un botón de activación de ícono según su estado de presión o verificación. (Ibc781).
- Se actualizó la clase de tipografía para admitir escalas de tipo destacadas. (Ifa13c).
SplitButton
shape morphs based on default / pressed state. Se quitó la API deAnimatedTrailingButton
porque la API deTrailingButton
puede ofrecer las mismas personalizaciones (I95066).- Se agregó un modificador para animar la ocultación y la visualización de la FAB, p.ej., cuando se desplaza el contenido. (I8338d)
- Se agregaron formas y espaciado de grupo de botones conectados a
ButtonGroupDefaults
para usarlos en una muestra. (I68e30). - El botón dividido agrega padding horizontal para el botón final y habilita el centrado óptico calculado a partir de las diferencias de esquinas de inicio y finalización (I122e2).
- Presentamos un nuevo
MotionScheme
de Material para permitir establecer un esquema para el movimiento del componente. El esquema se establece a través deMaterialTheme
. (Id50c2).
Correcciones de errores
- Aplica el índice de recorrido de enfoque correcto a los elementos componibles secundarios
Scaffold
. El orden estopBar
,bottomBar
, fab, contenido, barra de notificaciones. (I5936b). - Se solucionó un problema en
DatePicker
yDateRangePicker
en el que, en ciertas configuraciones regionales y esqueletos de formato, algunos de los elementos de fecha (p.ej., nombres de meses) no comenzaban con una letra mayúscula. (I1430f). - Se integraron tokens de componentes de BAF y menú de BAF (actualizaciones visuales menores en el padding y el texto) (Ib57f3).
ModalBottomSheet
ahora es el primero en el orden de recorrido semántico, seguido de la pantalla dimmed. (I436f9, b/358594665).- Se corrigió el problema por el que la barra inferior de la app no desaparecía por completo cuando se desplazaba debajo de la píldora de navegación en el modo de pantalla completa (I3ee21).
Compose Material3 versión 1.3
Versión 1.3.1
30 de octubre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.1
. La versión 1.3.1 contiene estas confirmaciones.
Correcciones de errores
DatePicker
yDateRangePicker
ahora actualizan correctamente el mes que se muestra cuando se configuran a través deldisplayedMonthMillis
de su estado. (If9e47, b/333414302)- Se corrigieron las fallas en
DatePicker
yDateRangePicker
cuando el año mínimo seleccionable se establece en un año futuro. (I78656, b/319395747) - Se solucionó un problema del selector de fecha para actualizar la IU cuando se aplica una instancia
SelectableDates
actualizada. (Iad59a, b/290135807, b/339898760). - Cambia la prioridad de devolución de llamada de atrás que usan las hojas inferiores a
PRIORITY_DEFAULT
para permitir que el teclado del IME se oculte primero. (I447fb).
Versión 1.3.0
4 de septiembre de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0
. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde 1.2.0
Funciones principales de la versión 1.3.0
Nuevos componentes de Material Design 3
- Carrusel
HorizontalMultiBrowseCarousel
yHorizontalUncontainedCarousel
: Mejoras en los componentes existentes de Material Design 3.
- [
ModalBottomSheet
] ahora admite el gesto atrás predictivo en U+ (Iccf32, b/281967264, b/304850357). - [
SearchBar
] ahora admite el gesto atrás predictivo en U y versiones posteriores (I657f8). - El panel lateral de navegación (
ModalDrawerSheet
yDismissibleDrawerSheet
) ahora admite el gesto atrás predictivo en U+ como opción de habilitación (Ie5b0b). DropdownMenu
ahora admite color, forma, elevación y borde personalizados. (I8e981,b/289554448, b/301887035, b/283654243)- Se actualizó el control deslizante para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I3058e).
- Se actualizó
ProgressIndicator
para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I21451) - Se agregó un signo de intercalación predeterminado para la información sobre herramientas enriquecida, se admite que se dibuje un signo de intercalación personalizado con la ancla
LayoutCoordinates
. (Ifd42c) Cambios rotundos - Nuevas APIs de deslizamiento para actualizar:
- Se simplificó
PullToRefreshState
para usar valores fraccionarios en lugar de unidades de Dp. - El usuario controla el estado
isRefreshing
en lugar dePullToRefreshState
. - Se separó la conexión de desplazamiento anidada de
PullToRefreshState
. Se controla con el nuevoPullToRefreshBox
oModifier.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
- Se simplificó
- Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
- Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en
lightColorScheme
ydarkColorScheme
. (I9db52). - Se actualizaron los colores del control deslizante y
ProgressIndicator
para cumplir con las nuevas especificaciones de contraste no textual. (I26807). - Los componentes ahora usan variantes de
SurfaceContainer
. Los componentes que calculaban el color de forma formal conSurface
yTonalElevation
ahora usan rolesSurfaceContainer
de forma predeterminada, que no se ven afectados por la elevación tonal. (b/304584161) - Se ajustaron ligeramente los roles de modelo de referencia de la superficie y el contenedor de superficie, lo que proporciona más tono en los temas claros y oscuros. (I677a5)
- Se ascendieron las APIs experimentales a estables.
- Mejoras en el rendimiento
Versión 1.3.0-rc01
21 de agosto de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-rc01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Correcciones de errores
ModalBottomSheet
ahora es el primero en el orden de recorrido semántico, seguido de la pantalla dimmed. (I436f9, b/358594665).
Versión 1.3.0-beta05
24 de julio de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-beta05
. La versión 1.3.0-beta05 contiene estas confirmaciones.
- Se solucionó el problema por el que faltaba o se cortaba el contenido de
BottomSheet
en Android N y O (a10a2d). - Se aumentaron los límites de semántica del control deslizante para que
TalkBack
muestre correctamente los indicadores de enfoque alrededor de los controles deslizantes. (0b5a1d).
Versión 1.3.0-beta04
26 de junio de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-beta04
. La versión 1.3.0-beta04 contiene estas confirmaciones.
Versión 1.3.0-beta03
12 de junio de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-beta03
. La versión 1.3.0-beta03 contiene estas confirmaciones.
Contribución externa
- Se hizo que
androidx.compose.material3.DropdownMenu
esté disponible desde el conjunto de fuentes comunes. (If62c0).
Versión 1.3.0-beta02
29 de mayo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-beta02
. La versión 1.3.0-beta02 contiene estas confirmaciones.
Cambios en la API
Modifier.pullToRefreshIndicator
admite elevación, actualiza las APIs de Pull To Refresh para que se habilite un valor booleano, en lugar de una lambda. Se agregó compatibilidad con la alineación de contenido enPullToRefreshBox
(I75679).- Hacer que
TooltipScope
sea una interfaz sellada y crear una implementación interna para usar enTooltipBox
y Label (I3833e). - Se agregaron dos modificadores nuevos a
CarouselItemScope
:maskClip
ymaskBorder
, para agregar fácilmente una forma y un borde a cualquier elemento del carrusel (Id67a1). - Ahora
TimePickerState
es una interfaz y permite configurar la hora (I88546). - Se actualizó la API para aplicar diseño a los vínculos: se movió
TextLinkStyles
aTextStyle
y se quitóTextDefaults
de material. (I5477b).
Correcciones de errores
- Los íconos de estado y de la barra de navegación de
ModalBottomSheet
ahora responden al estado del tema oscuro. (Ie1fe7, b/338342149). - Se agregaron semánticas de cierre de la hoja a la pantalla
ModalBottomSheet
. (0e61cb,b/328801864).
Contribución externa
- Se hizo que
androidx.compose.material3.AlertDialog
esté disponible desde el conjunto de orígenes común (Ia33f5). - Se hizo que
ModalBottomSheet
esté disponible desde el conjunto de orígenes común (Id7cc7).
Versión 1.3.0-beta01
14 de mayo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Usar
DpSize
en lugar deCaretProperties
Se quitóCaretProperties
. Se cambió el nombre deCaretScope
aTooltipScope
. (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 construirLinkAnnotations
temáticos y analizar HTML con vínculos temáticos. En su lugar, se agregó una claseTextLinkStyles
que permite aplicar diseño a los vínculos como un parámetro al elemento componible Text. (I31b93).
Versión 1.3.0-alpha06
1 de mayo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha06
. La versión 1.3.0-alpha06 contiene estas confirmaciones.
Cambios rotundos
Nuevas APIs de deslizamiento para actualizar:
- Se simplificó
PullToRefreshState
para usar valores fraccionarios en lugar de unidades de Dp. - El usuario controla el estado
isRefreshing
en lugar dePullToRefreshState
. - Se separó la conexión de desplazamiento anidada de
PullToRefreshState
. Se controla con el nuevoPullToRefreshBox
oModifier.pullToRefresh
. - Esta actualización es un cambio rotundo en las APIs experimentales anteriores. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683).
- Se simplificó
Cambios en la API
- Se quitó
RippleConfiguration#isEnabled
yLocalRippleConfiguration
se convirtió en Nullable. Para inhabilitar una onda, en lugar de proporcionar unRippleConfiguration
conisEnabled = false
, proporcionanull
aLocalRippleConfiguration
. (I22725). ModalBottomSheet
dibuja con mayor precisión la pantalla de carga sobre la barra de estado cuando está habilitada la pantalla de borde a borde. El contenido de la hoja inferior modal ahora puede consumir inserciones de ventana, lo que permite que el contenido sea visible sobre la barra de navegación. Se cambió el nombre del parámetrowindowInsets
deModalBottomSheet
acontentWindowInsets
para especificar dónde se aplicarán los rellenos, que ya no están vinculados a la lógica de la ventana. El tipocontentWindowInsets
se cambió a una función que muestraWindowInsets
para permitir que se resuelva dentro de su nueva ventana. (I39630, b/274872542, b/300280229, b/290893168).PrimaryScrollableTabRow
ySecondaryScrollableTabRow
ahora usan un diseño personalizado en lugar de una subcomposición, lo que debería mejorar el rendimiento. (I991e0).- Los vínculos de texto tienen la opción de estilo de estado presionado, además de los estilos normales, con el cursor encima y enfocados. Cada método
TextDefaults
tiene un argumentopressedStyle
para admitirlo. (Ic473f, b/139312671)
Correcciones de errores
- Los anclajes de arrastre del panel lateral de navegación ahora coinciden con el ancho de
drawerContent
. (Ibc72f, b/245355396). - El padding superior de
OutlinedTextField
para la etiqueta ahora tiene en cuenta el tamaño de la fuente del sistema. (Idc781). - Se corrigió la ubicación del paquete de
CalendarLocale
. (Ifa235). - [Retroceso predictivo] Se actualizaron las animaciones de retroceso predictivo para usar la curva de interpolación (0.1, 0.1, 0, 1) (I2591a).
Versión 1.3.0-alpha05
17 de abril de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha05
. La versión 1.3.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
SearchBar
yDockedSearchBar
tienen nuevas sobrecargas que toman un parámetro de campo de texto. Esto permite aplicar diseño al campo de texto por separado del resto de la barra de búsqueda, así como pasar campos de texto personalizados. El campo de texto de la implementación actual está disponible comoSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700).- Se agregó la lambda
drawTick
a la API pública para personalizar las marcas si es necesario (I0c048).
Cambios en la API
- Los vínculos de texto tienen la opción de diseño de estado presionado, además de los diseños normales, con el cursor sobre ellos y enfocados (I5f864, b/139312671).
- Se actualizó
CarouselItemInfo
para exponer un rectángulo de máscara por el que se recorta el elemento (I785d8). - Se quitó
BasicTooltipState
de la API pública de Material 3. Su funcionalidad se combina conTooltipState
hasta que se estabiliza elBasicTooltip
de Foundation. (Icda29). - Se agregó un objeto
TextDefaults
que contiene métodos para construir unLinkAnnotation
y analizar una cadena con etiquetas HTML que aplicaMaterialTheme
a los vínculos (I98532, b/139312671). ExposedDropdownMenuBoxScope
ya no permite subclases. Los menús desplegables expuestos ahora tienen unMenuAnchorType
que se debe pasar amenuAnchor
para admitir una mejor accesibilidad. Se debe usar en lugar de pasarfocusable
aExposedDropdownMenu
, que ahora dejó de estar disponible.menuAnchor
tiene un nuevo parámetro para controlar el estadoenabled
. (I55ee6, b/257209915, b/308840226).- Se corrigió el color de borde de
OutlinedButton
cuando está inhabilitado. Se agregó la sobrecarga deButtonDefaults.outlinedButtonBorder("enabled")
que toma el estado habilitado. (Ie650b, b/318461363). - Se agregó una nueva clase
CarouselItemInfo
para ayudar a los clientes a obtener información sobre los tamaños de los elementos. (I9070c). - El constructor
ColorScheme
sin contenedores de superficie dejó de estar disponible. Migra al constructor que incluye contenedores de superficie. (I35c11) - [Delineado]
TextFieldDefaults
Se cambió el nombre deContainerBox
aContainer
. (Ie8d3b).
Correcciones de errores
BottomSheetScaffold
ya no se desplazará desde el desplazamiento anidado sisheetSwipeEnabled
es falso. (I5e1c1, b/306464779).- Se quitó alguna anotación de
ExperimentalMaterial3Api
OptIn enIconButtonSamples.kt
. (I111d1).
Versión 1.3.0-alpha04
3 de abril de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha04
. La versión 1.3.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron dos versiones experimentales del carrusel de Material3:
HorizontalMultiBrowseCarousel
yHorizontalUncontainedCarousel
(I88d64). - Se actualizó el panel lateral de navegación de Compose M3 (
ModalDrawerSheet
yDismissibleDrawerSheet
) para admitir el gesto atrás predictivo en U+ como opción de habilitación (Ie5b0b). - Se agregó una nueva API en Icon para permitir pasar el tono de color como lambda y evitar la recomposición. (I5b5a2).
- Las APIs de la barra superior de la app ahora admiten alturas personalizadas para secciones fijas y plegables. (Ib8b0c, b/323403446).
Cambios en la API
- Las APIs de la barra superior de la app ahora admiten alturas personalizadas para secciones fijas y plegables. Se corrigió un problema que causaba que las barras de la app superior de una sola línea se recompusieran demasiadas veces cuando se desplazaba el contenido. Se resolvió un problema en el que
MediumTopAppBar
truncaba los títulos en dispositivos con una configuración de fuente o pantalla grande. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676). SegmentedButton
y las APIs asociadas ahora son estables (I8a158)SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
ySwipeToDismissBoxValue
ahora se marcan como estables. (I5f000).- Se quitaron las enums y las APIs de
DismissDirection
yDismissValue
obsoletas. (I89ccd) - Se agregó una etiqueta experimental al objeto complementario
CarouselState
del carrusel. (I94154) LocalMinimumInteractiveComponentEnforcement
dejó de estar disponible, y se introdujoLocalMinimumInteractiveComponentSize
para reemplazarlo. (I7a7ac).- El constructor
SearchBarColors
ahora es público. (I769ca) - Se agregó un parámetro
gesturesEnabled
aSwipeToDismissBox
. (Idc59f, b/324170119). - Se quitaron las APIs de campo de texto que se marcaron como obsoletas y experimentales. (I1305f).
Versión 1.3.0-alpha03
20 de marzo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha03
. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Cambios rotundos visuales
- Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
- Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en
lightColorScheme
ydarkColorScheme
. (I9db52).
Nuevas funciones
- Se agregaron parámetros para personalizar
ExposedDropdownMenu
. En particular, los menús ahora tienen un parámetrofocusable
(true
predeterminado) que se debe establecer enfalse
cuando se trabaja con campos de texto editables. (I4184c, b/323694447, b/278609042).
Cambios en la API
- Se quitó la marca
ScaffoldSubcomposeInMeasureFix
. (Ie2a4b). NavigationRailItemColors
ahora está marcado como@Immutable
(If6112, b/327660613).NavigationBarItemColors
ahora está marcado como@Immutable
(I42a30, b/298064514)- Se reorganizaron los parámetros en el elemento componible Slider Track. (I9f315).
ExposedDropdownMenu
ahora se implementa conPopup
. El comportamiento debería ser el mismo, excepto que los menús que se pueden enfocar con campos de texto editables se pueden descartar cuando se escribe en el teclado.
Correcciones de errores
- Se ajustaron ligeramente los roles de modelo de referencia de la superficie y el contenedor de superficie, lo que proporciona más tono en los temas claros y oscuros. (I677a5)
- Se actualizaron los colores del control deslizante y
ProgressIndicator
para cumplir con las nuevas especificaciones de contraste no textual. (I26807). - Actualiza la superposición del estado de enfoque a 0.1f para garantizar un contraste de color suficiente. (I7ea77).
- Se realizaron pequeños ajustes en los colores predeterminados de la superficie y el fondo en
lightColorScheme
ydarkColorScheme
. (I9db52).
Versión 1.3.0-alpha02
6 de marzo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha02
. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se volvieron a estabilizar los estados del control deslizante. Vuelve a convertir
State.onValueChangeFinished
en un valor. UneonValueChangeFinished
en unrememberUpdatedState
. (I82ab2, b/322269951). - Los componentes de Navigation ahora usan los nuevos roles
SurfaceContainer
.DrawerDefaults
ahora proporciona atributosstandardContainerColor
ymodalContainerColor
distintos.DrawerDefaults.ModalDrawerElevation
ahora es0.dp
. (I7fbac). - Se quita
@Stable
de los estados deSlider
, ya que cambiamosstate.onValueChangeFinished
avar
. (Ied34a, b/322269951) - La especificación de animación de
ModalBottomSheet
yStandardBottomSheet
ahora es unTweenSpec
, actualizado desde una animación de resorte. Esto resuelve un problema con un exceso visible. Se quitaron los constructoresSheetState
obsoletos sin densidad. (I7babc, b/285847707).
Correcciones de errores
- Los componentes ahora usan variantes de
SurfaceContainer
. Los componentes que calculaban el color de forma formal con Surface yTonalElevation
ahora usan rolesSurfaceContainer
de forma predeterminada, que no se ven afectados por la elevación tonal. (b/304584161) - Se corrigió el error que causaba que el color del contenedor inhabilitado y no seleccionado de
ElevatedFilterChip
fuera negro. (I400e6, b/322407043). - Se corrigió el indicador de progreso indeterminado cuando el progreso es 0 (Id6582).
- Se solucionó un problema con
Slider
yRangeSlider
en el diseño de derecha a izquierda (Iab0e1). - Se agregó
SliderRangeTolerance
para el cálculo del rango del control deslizante, ya que el redondeo de números de punto flotante puede ser inexacto. (Ic918a, b/324934900) - Asegúrate de que
DatePickerDialog
muestre sus botones cuando anides unDateRangePicker
o cuando muestres cualquier tipo de selector de fecha en pantallas pequeñas con fuentes más grandes. (Ie4758, b/325107799, b/277768544). Menu
ahora aprovecha el rolSurfaceContainer
para el color del contenedor.MenuDefaults.TonalElevation
ahora es0.dp
. (I135b7).TextField
ahora aprovecha el rolSurfaceContainerHighest
para el color del contenedor. (I4dced).- Los chips elevados ahora aprovechan el rol
SurfaceContainerLow
(I7cd2f). - El color del contenedor
DatePicker
ahora esSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
ahora es0.dp
. (Ida753). - Se actualiza el color del contenedor y del control de arrastre de las tarjetas inferiores. (I72a0a).
- El color del contenedor
RichTooltip
ahora esSurfaceContainer
. (Ia8b45). - El color del contenedor
SearchBar
ahora esSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
ahora es0.dp
. (I88604). - Se actualiza el interruptor de pistas o íconos inhabilitados y no seleccionados para aprovechar el rol de color
SurfaceContainerHighest
. (I7687a) - El color del contenedor
AlertDialog
ahora esSurfaceContainerHigh
. (Ie0433). - El color del contenedor
BottomAppBar
ahora esSurfaceContainer
. El coloronScroll
deTopAppBar
ahora esSurfaceContainer
. (I41630) - El color del contenedor
ElevatedCard
ahora esSurfaceContainerLow
. El color del contenedor deFilledCard
esSurfaceContainerHighest
. (I35141). - El color del contenedor
ElevatedButton
ahora esSurfaceContainerLow
. LosFilledIconButton
que no están seleccionados ahora tienen un color de contenedor deSurfaceContainerHighest
. (I792c9). - Se actualiza el color del contenedor
TimePicker
y el rol de color del dial del reloj aSurfaceContainerHighest
. (I43b93).
Versión 1.3.0-alpha01
21 de febrero de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó
ModalBottomSheet
de Compose M3 para admitir el gesto atrás predictivo en U+ (Iccf32, b/281967264, b/304850357). - Se actualizó
SearchBar
de Compose M3 para admitir el gesto atrás predictivo en U+ (I657f8). - Se actualizó el control deslizante para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I3058e).
- Se actualizó
ProgressIndicator
para mejorar la accesibilidad agregando un indicador de pausa y espacio. (I21451) - Se agregó un signo de interrogación predeterminado para la información sobre herramientas enriquecida. La nueva API de información sobre herramientas enriquecida ahora permite dibujar un signo de interrogación personalizado dado el ancla
LayoutCoordinates
. (Ifd42c).
Cambios en el comportamiento
- Los componentes de Material se migraron para usar las nuevas APIs de Ripple y ya no consultan
RippleTheme
.
Cambios en la API
- La función divertida
drawStopIndicator
ahora es pública. (I3f59f) - Se marca la función
formatWithSkeleton
deDatePicker
como interna (Ic65dc). DropdownMenu
ahora admite color, forma, elevación y borde personalizados. (I8e981, b/289554448, b/301887035, b/283654243)- Los componentes de Material3 que exponen un
MutableInteractionSource
en su API se actualizaron para exponer unMutableInteractionSource
anulable que se establece de forma predeterminada ennull
. No hay cambios semánticos aquí: pasar nulo significa que no deseas elevar elMutableInteractionSource
, y se creará dentro del componente si es necesario. Cambiar a nulo permite que algunos componentes nunca asignen unMutableInteractionSource
y que otros componentes solo creen una instancia de forma diferida cuando lo necesiten, lo que mejora el rendimiento de estos componentes. Si no usas elMutableInteractionSource
que pasas a estos componentes, te recomendamos que pases un valor nulo. También te recomendamos que realices cambios similares en tus propios componentes. (I41abb, b/298048146). - Se agregaron
RippleConfiguration
yLocalRippleConfiguration
para permitir la personalización de las ondas por componente o subárbol con valores fijos. Por ejemplo, para cambiar el color de un componente que no controlas o para inhabilitar un efecto de onda para un componente. En la mayoría de los casos, se deben usar los valores predeterminados: estas APIs son una salida para la personalización de componentes individuales o subárboles limitados. Para cambios más amplios y sistemas de diseño personalizados, debes compilar tu propia onda concreateRippleModifierNode
. (I7b5d6, b/298048146). - Se agregó una nueva API de Ripple en material3 que reemplaza a
rememberRipple
obsoleto. También se agrega unCompositionLocal
temporal,LocalUseFallbackRippleImplementation
, para revertir los componentes de material3 a usar las APIs derememberRipple
oRippleTheme
que dejaron de estar disponibles. Se quitará en la próxima versión estable y solo se diseñó como una ayuda de migración temporal para los casos en los que proporcionas unRippleTheme
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 queModalBottomSheet
podía fallar en situaciones específicas en combinación conLookaheadScope
. (I2a198). - Se quitó la subcomposición dentro de
BottomSheetScaffold
para mejorar el rendimiento. Se solucionó un problema por el queBottomSheetScaffold
fallaba en situaciones específicas en combinación conLookaheadScope
. (Ie6401). - La alineación de la insignia se ajusta para estar más cerca del centro del contenido de la insignia en relación con la esquina superior derecha. (I18a28).
- Se solucionó un problema de accesibilidad con el
DateRangePicker
en el que el título de texto de mes y año se transmitía como una acción para los usuarios del lector de pantalla, el acceso con interruptores y el acceso por voz. (I2ac55). - Se corrigió el error de orden de parámetros
mediumTopAppBarColors
. (Ibe64a).
Versión 1.2
Versión 1.2.1
6 de marzo de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.2.1
. La versión 1.2.1 contiene estas confirmaciones.
Correcciones de errores
- Haz que los estados del control deslizante vuelvan a ser estables. Vuelve a convertir
State.onValueChangeFinished
en un valor. UneonValueChangeFinished
en unrememberUpdatedState
. (Ie8fd0, b/322269951) - Se quita
@Stable
de los estados deSlider
, ya que cambiamosstate.onValueChangeFinished
avar
. (I82ba1, b/322269951). - Se corrigieron los colores personalizados
NavigationBar
para copiarlos de los predeterminados. (80a779, b/326894020) - Se corrigió la regresión en
ExposedDropdownMenu
para que vuelva a poder enfocarse (3fcec1, b/323694447). - Se corrigió el problema de almacenamiento en caché del color del botón (3e5bbcb/327371655).
Versión 1.2.0
7 de febrero de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
Problema conocido
- Se introdujo un error de renderización de interoperabilidad de View-Compose en
PrimaryTabRow
como parte de un cambio de mejora de rendimiento. La solución alternativa es usarTabRow
conTabRowDefaults.PrimaryIndicator
.
Cambios importantes desde la versión 1.1.0
Nuevos componentes de Material Design 3
- Deslizar para actualizar
- Botón segmentado
Mejoras en los componentes existentes de Material Design 3.
- Barra inferior de la app (alineación de derecha a izquierda, ocultación automática al desplazarse)
- Actualización visual de las pestañas
- Insignia (actualización de alineación)
Se ascendieron las APIs experimentales a estables.
Mejoras de rendimiento
- Consulta esta entrada de blog para obtener más detalles.
Versión 1.2.0-rc01
24 de enero de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-rc01
. La versión 1.2.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el error de orden de parámetros
mediumTopAppBarColors
. (Ibe64a). - Se corrigió un error introducido en
1.2.0-beta02
enCardDefaults.cardColors
que no actualizabacontentColor
según el valor del parámetrocontainerColor
. (Iee041, b/319671246). - Se corrigió un error en
disabledContentColor
que se introdujo en1.2.0-beta02
y se agregó una pequeña optimización. (I6dda1, b/318428829).
Versión 1.2.0-beta02
10 de enero de 2024
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-beta02
. La versión 1.2.0-beta02 contiene estas confirmaciones.
Error conocido
- Un error en
IconButtonColors
asignará de forma predeterminadadisabledContentColor
a una alfa (0.38f) deLocalContentColor
en lugar de lacontentColor
especificada por el usuario. La solución alternativa es configurardisabledContentColor
de forma explícita. Se solucionará este problema en la próxima versión.
Cambios en la API
- Se agregó la capacidad de habilitar los símbolos de intercalación de la información sobre herramientas para las APIs de
Tooltip
simples. (Ibf767). - Se cambió el nombre de
SwipeToDismissState
,rememberSwipeToDismiss
ySwipeToDismissValue
a_SwipeToDismissBox_
. (I68d6d)
Correcciones de errores
- Se corrigió el valor de padding final de
ListItem
para que se alinee con las especificaciones (Ibd68b, b/305342674). - El color del contorno de la tarjeta con contorno ahora se asigna correctamente a
OutlineVariant
. (I75480, b/310979715). - El color dinámico ahora extrae los roles de color definidos por el sistema. Esto mejora el contraste del contenido accesible y alinea más el color dinámico con las especificaciones de Material. (I1de96)
- Se corrigió el manejo de atrás
ModalBottomSheet
en Android T/13 y versiones posteriores cuandoandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110).
Versión 1.2.0-beta01
13 de diciembre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-beta01
. La versión 1.2.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Marca
TabIndicatorScope
como experimental. (I45c88). - Se quitaron las APIs experimentales obsoletas para la información sobre herramientas. (I438cb).
- Cambia las sobrecargas
TabRow
nuevas para que no usen subcomposiciones. Esto genera una forma diferente de compilar los indicadoresTabRow
con modificadores personalizados proporcionados. (Ife741) - Se dieron de baja las APIs de
DismissDirection
yDismissValue
. Se combinaron enSwipeToDismissValue
, cuyos valores indican la posición y la dirección deSwipeToDismissBox
.DismissState.progress
ahora está marcado como unFloatRange
entre0.0
y1.0
. Se quitaron el Ahorro y el Constructor obsoletos deDismissState
. El componenteSwipeToDismiss
, el estado y el objeto de valores predeterminados se volvieron a marcar como experimentales. (Ib54f2).
Correcciones de errores
- El indicador predeterminado para
PullToRefresh
ahora es una punta de flecha abierta en lugar de un triángulo sólido. (I67be3).
Versión 1.2.0-alpha12
29 de noviembre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha12
. La versión 1.2.0-alpha12 contiene estas confirmaciones.
Cambios en la API
RangeSlider
ahora toma un rango de Kotlin (p.ej.,0f..1f
) en lugar de una clase de valorFloatRange
personalizada.SnapFlingBehavior.kt
ahora también usa un rango de Kotlin. (I025cb).- Marca las funciones de fábrica del modificador como
@Stable
. (Ib109f).
Versión 1.2.0-alpha11
15 de noviembre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha11
. La versión 1.2.0-alpha11 contiene estas confirmaciones.
Nuevas funciones
- Implementa
PullToRefreshContainer
yPullToRefreshState
, que juntos proporcionan una implementación de la función de deslizar para actualizar en Material3. (I16456, b/261760718)
Cambios en la API
- Marca
SwipeToDismissBox
DismissDirection
yDismissValue
como experimentales. (I517b0). - Se cambió el nombre de
SwipeToDismiss
porSwipeToDismissBox
. Se cambió el nombre debackground
porbackgroundContent
y el dedismissContent
por la lambdacontent
final. (I7f4d3) - Se hizo público el constructor de
ChipElevation
ySelectableChipElevation
. (Ie0c48, b/308432421). - Se agregó
ModalBottomSheetProperties
. Se moviósecurePolicy
aModalBottomSheetProperties
. Se agregaronisFocusable
yshouldDismissOnBackPress
aModalBottomSheetProperties
. Estos nuevos valores booleanos ayudan a determinar cómo la hoja inferior modal debe controlar los eventos del IME. (Iea56f, b/278216859). - Se actualizaron los estados
RangeSlider
ySlider
para quitarinitialOnValueChange
, los prefijos iniciales y los kdocs adecuados. (I57d30). - Se dio de baja la clase
ChipBorder
y sus llamadas a funciones asociadas. Te recomendamos que usesBorderStroke
directamente. (I89cc2). - Las APIs de Foundation Tooltip ahora son
@ExperimentalFoundationApi
. (I30b0b). TabRow
yScrollableTabRow
ya no están disponibles. Las nuevas variantes principales y secundarias se marcan como experimentales. (I0def6).- Los chips de filtro y entrada ahora usan
BorderStroke
directamente. (I07a8d). SegmentedButton
ahora usaBorderStroke
directamente. (I89b9b).- Se cambió el nombre de la función genérica
AlertDialog
aBasicAlertDialog
y se dio de baja la función anterior. (Idbe52). - Cambia el nombre de las APIs de
SwipeToDismiss
aSwipeDismiss
y promociona las nuevas APIs deSwipeDismiss
a estables. (I14cbe). - Se agregaron
tonalElevation
yshadowElevation
a las APIs de la herramienta de ayuda. Además, se volvieron a mover las APIs deTooltipBox
,PlainTooltip
yRichTooltip
a experimentales, ya que se lanzaron accidentalmente como estables. (If0f66, b/293939035) - Se ascendieron las APIs de chips experimentales a estables. (Iea2c3).
- Se quitó la anotación
@ExperimentalMaterial3Api
de las tarjetas en las que se puede hacer clic de Material3. (I88dbf).
Correcciones de errores
- Se solucionó un problema por el que
SwipeToDismiss
fallaba en ciertas situaciones con diseños anidados de Lookahead y Lazy. (Ica8d1, b/297226562).
Versión 1.2.0-alpha10
18 de octubre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha10
. La versión 1.2.0-alpha10 contiene estas confirmaciones.
Cambios en la API
- Se asciende
Badge
yBadgedBox
a estable. (I67f16, b/261565132) - Se agregó
securePolicy
como parámetro aModalBottomSheet
para que los usuarios puedan definir el comportamiento deWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262). - Se agregaron nuevas sobrecargas de
LinearProgressIndicator
yCircularProgressIndicator
que tomanprogress
como una lambda. Estos deberían tener un mejor rendimiento que las versiones anteriores. (I824e6, b/295616656). - Se cambió el nombre de
StandardSizeClasses
aAllSizeClasses
. (I8cb07). - Combina las funciones de cálculo de las clases de tamaño de ventana. (Iad935)
Correcciones de errores
- Se corrigió una falla de
DatePicker
cuando se hacía clic rápidamente en los botones de flecha de navegación cuando el mes que se mostraba estaba al borde del rango de años permitido. (I46f36, b/290954897, b/297002119). - [Barra/riel de navegación] Se admite el color transparente para el indicador. (Ie0a9b, b/267289987).
Versión 1.2.0-alpha09
4 de octubre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha09
. La versión 1.2.0-alpha09 contiene estas confirmaciones.
Cambios en la API
- Se migraron
ModalNavigationDrawer
yDismissibleNavigationDrawer
para usar las nuevas APIs deAnchoredDraggable
. Se reemplazó el elementoanimateTo
deDrawerState
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 decurrentOffset
. (I0a72c). - Se agregaron funciones no componibles para crear un
DatePickerState
y unDateRangePickerState
directamente. Estas funciones se pueden usar como alternativa a las funcionesrememberDatePickerState
yrememberDateRangePickerState
de componibilidad cuando sea necesario. (I70326, b/291524052). - Los elementos
TabRows
fijos y desplazables ahora tienen variantes principales y secundarias. Se asignan correctamente al comportamiento del color y del indicador como se define en Material3. PrimaryScrollableTabRow
ySecondaryScrollableTabRow
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
yRichTooltipBox
como métodos obsoletos. (I246fa)
Correcciones de errores
- Se corrigió una falla cuando se inicializa
DatePicker
con unDatePickerFormatter
que tiene ciertos esqueletos de fecha que permanecen iguales cuando se convierten en patrones de fecha (como AAAA). (I01f29).
Versión 1.2.0-alpha08
20 de septiembre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha08
. La versión 1.2.0-alpha08 contiene estas confirmaciones.
Cambio rotundo de comportamiento
ColorScheme
ahora es inmutable, lo que hace que las actualizaciones de colores individuales sean menos eficientes, pero que el uso más común de los colores sea más eficiente. El motivo de este cambio es que la mayoría de las apps no tendrían la actualización de colores individuales como caso de uso principal. Esto sigue siendo posible, pero se volverá a componer más que antes. A su vez, disminuiremos significativamente la cantidad de suscripciones de estado en todo el código de Material y afectará el costo de inicialización y tiempo de ejecución de casos de uso más estándar. (Ic447d, b/297212873)- La elevación tonal ya no se anima en diferentes estados de interacción para que coincida con las especificaciones. (Icdd12)
Cambios en la API
- Se agregó un nuevo
BottomAppBar
que toma como parámetro unBottomAppBarScrollBehavior
para ocultarlo automáticamente cuando se desplaza el contenido. También se agregóFabPosition.EndOverlay
, lo que permite que el FAB se superponga con la barra de la aplicación inferior en el andamiaje en lugar de anclarse sobre ella. (Iecb47). - Se agregó un componente de etiqueta simple que se compila sobre
BasicTooltipBox
y que no se descarta cuando se presiona fuera de los límites de la etiqueta. (I821f9).
Correcciones de errores
- Se quitó el uso de
rememberSaveable
para las herramientas de ayuda. (Icc131, b/299500338) - Se introdujo una marca temporal para controlar si Scaffold debe medir sus elementos secundarios durante la medición o durante la colocación. De forma predeterminada, se medirá en medición. Si tienes problemas con el nuevo comportamiento, informa el problema. (I0b354).
- Se corrigió el diseño horizontal de borde a borde en
BottomSheet
con la medición correcta para el ancho de la pantalla del dispositivo. (I1df0c, b/299058752) - Se corrigió un error por el que
ModalBottomSheet
no llamaba aonDismissedRequest
cuando se lo descartaba deslizando el dedo hacia abajo en la hoja. (Idfdd8).
Versión 1.2.0-alpha07
6 de septiembre de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha07
. La versión 1.2.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con íconos de espejo automático en
compose material 1.6.0-alpha05
. Consulta las notas de la versión para obtener detalles sobre los íconos de espejo automático.
Cambios en la API
SliderState
implementaDraggableState
(I9b116).- Se cambió la forma para que sea un parámetro obligatorio. Cambia el nombre de
position
aindex
en la función auxiliar de forma. (I34941) - Se actualiza el
DatePicker
formatWithSkeleton
para incluir un mapa que se usa como caché para mejorar el rendimiento. (I3195f). - Se agregó
BasicTooltipBox
acompose.foundation
y se actualizaronPlainTooltipBox
yRichTooltipBox
para usarTooltipBox
con nuevos elementos componiblesPlainTooltip
yRichTooltip
. (I79e1d)
Correcciones de errores
dynamicLightColorScheme
ydynamicDarkColorScheme
ahora muestran colores de cromatismo más altos para los roles de superficie ysurfaceContainer
. (I5e901).- Se solucionó un problema por el que algunos componentes que usaban Subcomposition (p.ej.,
BottomSheetScaffold
) dentro de un Scaffold dentro de unLookaheadScope
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
deDropdownMenu
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
deDropdownMenu
para que los desplazamientos en X dependan únicamente de la dirección del diseño local, y los desplazamientos en Y ya no se invertirán cuando el menú esté cerca de la parte inferior de la pantalla. (Ib87a2, b/294103942)
Versión 1.2.0-alpha05
9 de agosto de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha05
. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se actualizaron los colores de la casilla de verificación y
TriStateCheckbox
. ElCheckboxDefaults.colors()
disabledUncheckedColor
ahora solo afecta el borde de la casilla de verificación. Los casos especiales que requieren que establezcas el color del cuadro interno cuando está inhabilitado y sin marcar requieren una instancia creada a medida de unCheckboxColors
con los valores de color deseados. (I77d17, b/291943198).
Versión 1.2.0-alpha04
26 de julio de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha04
. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- API experimental de botones segmentados (Ifc8fb)
- Los divisores ahora tienen un parámetro para controlar la orientación y admitir divisores verticales. (I4c899, b/288438593).
Cambios en la API
- Trasladaremos la dependencia de densidad al nivel del componente. Esto se aplica a los siguientes componentes:
SwipeToDismiss
y componentes basados en hojas. Usa la nueva sobrecarga proporcionada en la que density es un parámetro. (I1846e). - Anotaciones adicionales para especificar las entradas permitidas en los elementos componibles (Ief234).
- Agrega un parámetro de ícono al botón segmentado y divide la semántica para que los botones segmentados se puedan seleccionar para implementar la selección única y activar o desactivar para implementar la selección múltiple, con
SelectableSegmentedButtonRow
yToggelableSegmentedButtonRow
, respectivamente. (I38740) - Se cambió el nombre de Divisor a
HorizontalDivider
. Se agregó la funcionalidadVerticalDivider
. (I5975c) - Cambia el uso de
ClosedFloatingPointRange
por elFloatRange
más ligero en las APIs experimentales de Material3 para minimizar el autoencapsulamiento. (I4aab5). - Se agregó una nueva alineación de inicio para
FabPosition
(Ib7aea, b/170592777).
Correcciones de errores
ModalBottomSheet
respeta la dirección del diseño local. (Ib4f44, b/285628622).
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 esfalse
de forma predeterminada en la tipografía de Material 3. El estilo predeterminado de altura de línea también se cambió aTrim.None
yAlignment.Center
, y se agregaronlineHeight
explícitos (en sp) a losTextStyle
deTypography
. Consulta la documentación de la API si deseas personalizar estos valores y consulta la entrada de blog para obtener una explicación detallada de estos cambios. (I6266f, Icabc3)
Nuevas funciones
- Se agregó una sobrecarga para
RangeSlider
que es una versión con estado del componente. Se creóRangeSliderState
que contiene toda la información del segmento activo actual, las mediciones de los componentes deRangeSlider
y la lógica de arrastre y gesto. (I8c270) - La barra de búsqueda ahora admite sombras a través del parámetro
shadowElevation
recientemente agregado. (Ia5369, b/271040353) ColorScheme
ahora admite nuevos roles deSurfaceContainer
.- La superposición de elevación tonal de la superficie ahora se puede inhabilitar con el elemento local de composición
LocalTonalElevationEnabled
. (Ic203c, b/277774590).
Cambios en la API
- Abre los constructores de colores de componentes. (I8c4a6)
- Se agregó un parámetro enfocado a ambas APIs de la información sobre herramientas para que los desarrolladores puedan hacer que la información sobre herramientas consuma eventos táctiles o no. Ten cuidado, ya que esto podría interrumpir el recorrido automático del enfoque de accesibilidad. (Ie32d8).
- Accesibilidad optimizada para el rendimiento y las asignaciones de memoria (Iede48).
- Se expuso
DefaultSizeClasses
y se creóStandardSizeClasses
paraWindowSizeClasses
(I91838). - Se cambió
WindowWidth/HeightSizeClass
a clases de valores flotantes (Ie686e).
Correcciones de errores
- El parámetro
contentWindowInsets
del andamiaje ahora respeta las inserciones de ventana consumidas. Ten en cuenta que el comportamiento del padding de contenido basado entopBar
ybottomBar
no cambia cuando se proporcionan estos parámetros. (I08b73, b/264601542). - Se corrigió la alineación de la barra superior central de la app para garantizar que un título largo no se renderice sobre los íconos de acción o el ícono de navegación. (I4369f, b/236994621).
- Las posiciones de tabulación ahora imponen un ancho de contenido mínimo de 24 dp. Esto proporciona un objetivo táctil accesible para los indicadores de pestañas. (Id8861).
- Las paletas de colores dinámicos de
dynamicLightColorScheme
ydynamicDarkColorScheme
ahora admiten nuevos roles de superficie. (I1252e). - Se actualizó la alineación de la notificación de la insignia para que no se recorte cuando entre en conflicto con el elemento superior. (Idf75a).
Versión 1.2.0-alpha02
24 de mayo de 2023
Lanzamiento de androidx.compose.material3:material3-*:1.2.0-alpha02
. La Versión 1.2.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se agregó el parámetro de inserciones de ventana a
ModalBottomSheet
.- El fondo para
ModalBottomSheet
ahora se puede dibujar detrás de la barra de estado conwindowInsets
establecido en cero. - Se actualizó la funcionalidad predeterminada de
ModalBottomSheet
para que no se muestre fuera de las barras del sistema, incluida la navegación. - El control de desplazamiento proporciona el control de inserción de la barra de estado en el modo de borde a borde.
BottomSheetDefaults
incluye inserciones de ventana paraBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162).
- El fondo para
Indicator
dejó de estar disponible, y se agregóPrimary
/SecondaryIndicator
para que coincida con las especificaciones de M3.PrimaryIndicator
coincide con el ancho del contenido de la pestaña, mientras queSecondaryIndicator
abarca todo el ancho disponible.SecondaryIndicator
es equivalente aIndicator
, que ahora está obsoleto, y puede ser un reemplazo directo. (I27604).- Se agregó una opción para pasar un
ScrollState
cuando se construye unDropdownMenu
o unExposedDropdownMenu
para controlar el estado de desplazamiento vertical de los elementos de menú que se muestran. (Ia0734, b/185304441). - Se agregó una sobrecarga para
Slider
que es una versión con estado del componente. Se creóSliderState
que contiene toda la información del segmento activo actual, las mediciones de los componentes deSlider
y la lógica de arrastre y gesto. (I124a5). - Se cambió el nombre de la propiedad Semantics
isContainer
aisTraversalGroup
(I121f6). - Se agregó
TextStyle.merge(...)
optimizado con una lista completa de parámetros. (Iad234, b/246961787). - Se hicieron interfaces públicas
TooltipState
,RichTooltipState
yPlainTooltipState
. Se agregaronRichTooltipStateImpl
yPlainTooltipStateImpl
para los estados predeterminados. Se agregaron funcionesremember*State
para obtener estos estados implementados. Se quitóTooltipSync
a favor deTooltipDefault.GlobalMutatorMutex
. (I7813d) - Se actualizó
DatePickerColors
para incluir opciones de personalización adicionales para los colores del divisor del selector de fecha, la navegación y los campos de entrada de texto. (I1a685, b/274626815) DatePickerState
yDateRangePickerState
ahora son interfaces públicas con implementaciones predeterminadas que pueden recuperarrememberDatePickerState
yrememberDateRangePickerState
. (I71c52).- Se quitó
dateValidator
deDatePicker
yDateRangePicker
, y se introdujo una interfazSelectableDates
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 recomiendaModalBottomSheet
para el uso en computadoras de escritorio, y la funcionalidad no se mantiene de forma activa. (Ib3778)
Correcciones de errores
- Se corrigió la acción de descartar
AlertDialog
para que aparezca debajo de la acción de confirmación cuando las acciones se apilen una sobre la otra para adaptarse al ancho del diálogo. Esta corrección alinea la implementación con la especificación de Material Design (I029de, b/235454277). - Se corrigió el error en
ListItem
que usaba un padding incorrecto para los elementos de tres líneas. (I6e235). ModalBottomSheet
ahora puede mostrar el teclado del IME (Idc508, b/262140644, b/268380384, b/272483584).
Versión 1.2.0-alpha01
10 de mayo de 2023
Lanzamiento de androidx.compose.material3:material3:1.2.0-alpha01
y androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Versión 1.1
Versión 1.1.2
20 de septiembre de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.2
y androidx.compose.material3:material3-window-size-class:1.1.2
. La versión 1.1.2 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el modificador que se pasaba de forma incorrecta a dos elementos componibles. (b/282761472).
- Se corrigió
TimePickerState
para que muestre horas incorrectas cuando se inicializa con 23 horas. (b/278242122). - Se corrigió el estado inicial del botón de activación para la validación del mediodía y los minutos. (b/269768197, b/282790635).
- Se corrigió
state.hour
para que muestre el valor incorrecto de las 11 p.m. (b/282761472, b/278242122).
Versión 1.1.1
21 de junio de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.1
y androidx.compose.material3:material3-window-size-class:1.1.1
. La versión 1.1.1 contiene estas confirmaciones.
Correcciones de errores
- Se agrega la llamada a
ModalBottomSheet
sin el parámetrowindowInset
para la compatibilidad binaria. (Ib7959). - Se agregó el parámetro de inserciones de ventana a
ModalBottomSheet
.- El fondo para
ModalBottomSheet
ahora se puede dibujar detrás de la barra de estado conwindowInsets
establecido en cero. - Se actualizó la funcionalidad predeterminada de
ModalBottomSheet
para que no se muestre fuera de las barras del sistema, incluida la navegación. - El control de desplazamiento proporciona el control de inserción de la barra de estado en el modo de borde a borde.
BottomSheetDefaults
incluye inserciones de ventana paraBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162).
- El fondo para
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
- Hojas inferiores
- Selectores de fecha
- Buscar
- SwipeToDismiss
- Selectores de hora
- Consolas de herramientas
Se realizaron mejoras en los componentes existentes de Material Design 3.
Se ascendieron las APIs experimentales a estables.
Consulta esta entrada de blog para obtener más detalles.
Versión 1.1.0-rc01
19 de abril de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-rc01
y androidx.compose.material3:material3-window-size-class:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Cambios en la API
- Se quitó
TimePicker
de la API estable. Se esperan más cambios en la API de estado (I3f39a). ModalBottomSheet
se trasladó solo a Android. No se recomiendaModalBottomSheet
para el uso en computadoras de escritorio, y la funcionalidad no se mantiene de forma activa. (Ib3778)
Versión 1.1.0-beta02
5 de abril de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-beta02
y androidx.compose.material3:material3-window-size-class:1.1.0-beta02
. La versión 1.1.0-beta02 contiene estas confirmaciones.
Cambios en la API
SheetState
ahora tiene el parámetro opcionalskipHiddenState
.rememberStandardBottomSheetState
ahora tiene el parámetro opcionalskipHiddenState
.BottomSheetScaffold
ahora tiene un ancla oculta definida, aunque está inhabilitada de forma predeterminada.- Se actualizó la documentación de
SheetState.requireOffset
- Se cambió el nombre de
BottomSheetDefaults.MinimizedShape
aBottomSheetDefaults.HiddenShape
(I839f4, b/273870234).
Correcciones de errores
- No cambies la cara del dial de hora a minutos cuando la exploración táctil esté habilitada. (I717d0).
- Ahora se combinaron las semánticas de los controladores de arrastre
ModalBottomSheet
yBottomSheetScaffold
. (I05afb). - El modificador
BottomSheetScaffold
y los parámetroscontainerColor
ycontentColor
ahora solo afectan el contenido. (I992cb). BottomSheetScaffold nestedScroll
para el contenido de la hoja ahora implementa deslizamientos. (I992cb).
Versión 1.1.0-beta01
22 de marzo de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-beta01
y androidx.compose.material3:material3-window-size-class:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Agrega el parámetro de tipo de diseño al elemento componible
TimePicker
. Permite usar diferentes diseños, según la configuración de la pantalla (Ia0e16). - Se marcó
SearchBarDefaults
como experimental. (I65561). - Se agregó la elevación de sombras a
BottomSheetScaffold
(I94e0f). - Se agregó compatibilidad para mostrar los selectores de fecha sin la parte del encabezado. Se realizaron cambios en la API para permitir pasar un título nulo cuando se crea un selector de fecha. Ahora puedes pasar un título, un encabezado y un
showToggleMode = false
nulos para mostrar un selector sin interfaz gráfica. (Id3f3a, b/266132421, b/267194809).
Correcciones de errores
- Las barras de búsqueda ahora quitan el enfoque automáticamente cuando se vuelven inactivas. (I22a7c, b/261444487).
- Se actualizó
DateRangePicker
para permitir seleccionar un rango con la misma fecha de inicio y finalización. (I16529, b/272882497). - Los campos de texto ahora posicionan correctamente sus elementos de texto cuando el tamaño de la fuente es más pequeño de lo esperado. Esto puede provocar un cambio de algunos píxeles en tus apps según la configuración de la fuente y la escritura. (I8b8d0)
- Las acciones semánticas de la hoja inferior ahora tienen etiquetas. (I277b0).
Versión 1.1.0-alpha08
8 de marzo de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha08
y androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
. La versión 1.1.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con
BottomSheetScaffold
yBottomSheetScaffoldState
. (I063d4).
Cambios en la API
- Se agregó funcionalidad a
DatePickerState
yDateRangePickerState
para permitir establecer fechas después de la creación inicial del estado, así como restablecer selecciones configurando marcas de tiempo nulas. La configuración de fechas de forma manual debe realizarse con precaución, y la nueva funciónsetSelection
arrojará una excepción en caso de que una fecha proporcionada no cumpla con una precondición (consulta la documentación). (Ifa645, b/268609314, b/270427389). - Se cambió el nombre de
SheetValue
contraido aPartiallyExpanded
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 sonReadOnlyComposables
cuando corresponda. (I69a25) - Se graduaron las APIs de Surface interactivas de experimentales. (I90d59, b/261561812).
Correcciones de errores
- Se solucionó un problema por el que el estado
HalfExpanded
deModalBottomSheet
se calculaba de forma incorrecta y la hoja parecía flotar. (I45e84, b/268411386). - Se agregó la verificación de
confirmValueChange
para el toque de la pantalla en la pantalla en espera deModalBottomSheet
. (I2311a, b/270425759). - Se movieron las acciones semánticas
BottomSheet
al controlador de arrastre. (I158ba). ModalBottomSheet
ahora ordena el enfoque en el inicio y controla el botón Atrás. (I4d2ab).ModalBottomSheet onDismissRequest
ahora también se controla durante los deslizamientos de desplazamiento anidados. (I655c5, b/268433166).
Versión 1.1.0-alpha07
22 de febrero de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha07
y androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
. La versión 1.1.0-alpha07 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un elemento componible de entrada de hora que funciona con
rememberTimePickerState()
y sigue la especificación de M3 para la entrada de hora (Ia4fab). - Se agregó una API de
DateRangePicker
de Material 3 para seleccionar un rango de fechas. (I7a6c3, b/267194809). - Se agregó compatibilidad con el modo de entrada de Material 3 para seleccionar períodos a través de la API de
DateRangePicker
. (Ifdbc4). - Los colores de los campos de texto ahora permiten personalizar lo siguiente:
- Los colores del campo de entrada y del texto del marcador de posición según el estado de enfoque y error Se cambió el nombre del parámetro
textColor
porunfocusedTextColor
y el deplaceholderColor
porunfocusedPlaceholderColor
. - El color del contenedor para los campos de texto rellenos según el estado de error con el nuevo parámetro
errorContainerColor
.
- Los colores del campo de entrada y del texto del marcador de posición según el estado de enfoque y error Se cambió el nombre del parámetro
- Los colores de los campos de texto del menú desplegable expuestos se actualizaron con parámetros para admitir la nueva API de prefijos y sufijos. (I9c8b4, b/254284181, b/264766350).
Cambios en la API
- Se revirtieron algunas versiones de la API de Slider y se quitaron las sobrecargas redundantes de Slider que cubre el nuevo Slider experimental con control deslizante y recorrido personalizados. Se asciende
RangeSlider
a estable. (Ie8fbd). - Se cambió el nombre de
defaultElevation
aelevation
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
youtlinedTextFieldPadding
. (Ieb5c0, b/261561819). TimePickers
is24Hour
usa la configuración del sistema (I18856).- Se quitó la anotación experimental de las APIs de andamiaje. (Ibb51e, b/261565765, b/261436953).
Correcciones de errores
- La forma predeterminada de
ModalBottomSheet
ahora siempre esSheetDefaults.ExpandedShape
. (I0dfca). - Se realizaron mejoras de accesibilidad para
DatePicker
yDateRangePicker
de Material 3. (I5087e) - Se corrigió el error por el que se propagaba la restricción de altura máxima y podía fallar. (I30d8c).
- Se quitaron los roles semánticos de las plataformas en las que se puede hacer clic y seleccionar, y se actualizaron los componentes que los usaban para establecer roles con modifier.semantics (I793d9).
Versión 1.1.0-alpha06
8 de febrero de 2023
Lanzamiento de androidx.compose.material3:material3:1.1.0-alpha06
y androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
. La versión 1.1.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Los campos de texto ahora admiten texto de prefijo y sufijo. (Ia8578, b/179884561)
- Se agregó una función
TimePicker
para mostrar un selector de hora que sigue la especificación de Material 3, que se usa junto conTimePickerState
y el método de convenienciarememberTimePickerState
(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
yModalBottomSheetDefaults
. También se introdujeronSheetState
yrememberSheetState
, 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
yListItemColors
a no experimentales (I7e7fa, b/261438882). - Se ascendieron
SliderPositions
,SliderDefaults.Thumb
ySliderDefaults.Track
a estables y se agregaron APIs no experimentales deSlider
yRangeSlider
que contienen miniaturas y pistas personalizadas. También dejarán de estar disponibles las APIs deSlider
yRangeSlider
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 dePlainTooltipBox
para que ya no haga queTooltipState
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 aLocalMinimumInteractiveComponentEnforcement
(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
Compose UI
yCompose Material
ahora dependen de Lifecycle 2.6.0.
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
aandroidx.compose.foundation:1.4.0-alpha04
, es posible que experimentes un errorjava.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 bibliotecasandroidx.compose.material
yandroidx.compose.material3
a la versión más reciente (1.1.0-alpha04) o cambia tuandroidx.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()
aconsumeWindowInsets()
, y el dewithConsumedWindowInsets()
aonConsumedWindowInsetsChanged()
, 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 unScrollable 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
yCompose 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
ywaitForUpOrCancellation
ahora aceptan unPointerEventPass
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
yOutlinedTextField
, 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óntopAppBarColors
que se debería usar cuando se crea unTopAppBar
(Ie6cb9). - Se agregó el parámetro
minLines
aBasicText
yBasicTextField
. 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
yIconToggleBotton
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
- Distintivo
- Barra inferior de la app
- Botones
- BAF y BAF extendido
- Tarjetas
- Casilla de verificación
- Chips
- Diálogos
- Divisor
- Menú desplegable
- Lista
- Barra de navegación
- Panel lateral de navegación
- Riel de navegación
- Indicador de progreso
- Botón de selección
- Control deslizante
- Interruptor
- Pestañas
- Campos de texto
- Barra superior de la app
- Ícono
- Texto
- Plataforma
- Diseño
- Color del contenido
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 usarcalculateWindowSizeClass
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 paraWindowSizeClass
.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 modificadorModifier.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ónTopAppBar
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
yNavigationRail
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
yBadgedBox
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
deMenuDefaults
yTabDefaults
(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
yElevatedFilterChip
a fin de quitar el espacioselectedIcon
y volver a usarleadingIcon
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
yListItemColors
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ónCheckbox
(I5eefc). - Se quitó la anotación
@ExperimentalMaterial3Api
de la funciónRadioButton
(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 coloresFilterChip
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
yWindowHeightSizeClass
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
yInputChip
de Material3 (I0d25a). - Se agregó compatibilidad con
FilterChip
ySuggestionChip
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 deOutlinedTextField
aTextFieldDefaults.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 usarcalculateWindowSizeClass
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 paraWindowSizeClass
. 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 deBottomAppBar
con el BAF (I92c47). - Se agregaron los elementos
FilledIconButton
,FilledTonalIconButton
yOutlinedIconButton
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 usarconsume()
para consumir el cambio por completo. También puedes usarisConsumed
para determinar si otra persona ya consumió el cambio. PointerInputChange::copy()
ahora siempre hace una copia superficial. Significa que se consumirán copias dePointerInputChange
una vez que se consuma una de las copias. Si quieres crear unaPointerInputChange
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
acontainerColor
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 claseColorScheme
. (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
yLazyHorizontalGrid
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 bajaViewCompat.getWindowInsetsController
y se reemplazó porWindowCompat.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
yDismissibleNavigationDrawer
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
porModalNavigationDrawer
(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
aFloatingActionButtonDefaults
(Ia71cf). - Se corrigió un error de botones
AlertDialog
ocultos cuando se agregaba un texto largo conLazyColumn
(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.
- Menú desplegable
- Tarjetas
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 unaInteractionSource
y unModifier.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
aMaterialTheme
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ó desdecompose.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
- Botones
- BAF y BAF extendido
- Diálogos
- Barra de navegación
- Panel lateral de navegación
- Riel de navegación
- Barra superior de la app
- Distintivo
- Ícono
- Texto
- Plataforma
- Diseño
- Color del contenido
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.