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 |
---|---|---|---|---|
8 de febrero de 2023 | 1.0.1 | - | - | 1.1.0-alpha06 |
Estructura
Compose es una combinación de 7 IDs de grupo de Maven en androidx
. Cada grupo contiene un subconjunto de funcionalidades objetivo, cada uno con su propio conjunto de notas de la versión.
En esta tabla, se explican los grupos y vínculos correspondientes a cada conjunto de notas de la versión.
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.1.2" implementation "androidx.compose.material3:material3-window-size-class:1.1.2" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.1.2") implementation("androidx.compose.material3:material3-window-size-class:1.1.2") } 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.
Versión 1.1
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
.
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.