tv
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 16 de julio de 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Cómo declarar dependencias
Para agregar dependencias en tv-foundation y tv-material, 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.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
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.
No hay notas de la versión para este artefacto.
Tv-Material versión 1.1
Versión 1.1.0-alpha01
15 de enero de 2025
Lanzamiento de androidx.tv:tv-material:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se cambió
FocusEnterExitScope.cancelFocus()acancelFocusChange(). (I89959) FocusProperties.enteryFocusProperties.exitse reemplazaron poronEnteryonExit, respectivamente,con un alcance del receptor en lugar del parámetroFocusDirection. (I6e667)
Correcciones de errores
- Se movió
CompositingStrategy.OffScreende Surface a Text para corregir el texto tembloroso durante el ajuste de escala. (I92b15f17) - Se corrigió la administración de enfoque interrumpida en el carrusel (Ie508b721375).
- La superficie (no interactiva) tiene una implementación simplificada en comparación con las interactivas. (I7ea545150)
Tv-Material versión 1.0
Versión 1.0.1
16 de julio de 2025
Lanzamiento de androidx.tv:tv-material:1.0.1. La versión 1.0.1 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó la altura de
NavigationDrawerItempara que coincida con las especificaciones. (cf9a3ce) - Se movió la configuración de la estrategia de composición del elemento Surface componible al elemento Text componible. Se corrigió el error por el que ExoPlayer no se renderizaba en los elementos componibles de Surface en versiones anteriores de la API de Android. (9858ffb)
Versión 1.0.0
21 de agosto de 2024
Lanzamiento de androidx.tv:tv-material:1.0.0. La versión 1.0.0 es la primera versión estable de androidx.tv:tv-material.
Versión 1.0.0-rc02
7 de agosto de 2024
Lanzamiento de androidx.tv:tv-material:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la animación de texto temblorosa en el elemento Surface componible. (3163319)
Versión 1.0.0-rc01
10 de julio de 2024
Lanzamiento de androidx.tv:tv-material:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.
Versión 1.0.0-beta01
1 de mayo de 2024
Lanzamiento de androidx.tv:tv-material:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.
Cambios en la API
ColorSchemey sus funciones de utilidad ahora son estables. (If34fa)LocalContentColorahora es estable (I60ee2).- La API de
Typographyahora es estable (I088d6). - Las APIs de Shapes ahora son estables (I0f5f4).
- La API de Border ahora es estable (I69281).
- La API de Glow ahora es estable (Iea5f1).
- El componente Icon ahora es estable (I62c2d).
- La API de
LocalTextStylesahora es estable (Iaded8). - La API de
MaterialThemeahora es estable (I2f541). - El componente de texto ahora es estable (Ib9e31).
- El componente
RadioButtonahora es estable (Ia03c8). - El componente Switch ahora es estable (I6cea3).
- Los componentes de
Checkboxahora son estables (I7eafc). - Los componentes de Surface ahora son estables (I58758, I04aca).
- Se cambió el nombre de
NonInteractiveSurfaceDefaultsporSurfaceDefaultsy el deNonInteractiveSurfaceColorsporSurfaceColors(I0812e). - Selectable Surface ahora usa la terminología “seleccionar” en lugar de “verificar” porque ambas tienen significados semánticos diferentes (I5a206).
NavigationDraweryNavigationDrawerScopeahora son estables (I249c1)- El componente
NavigationDrawerItemahora es estable (Id6986). - Los componentes de pestañas y
TabRowahora son estables (I92d92). - Los componentes
Button,OutlinedButton,IconButton,OutlinedIconButtonyWideButtonahora son estables (Ib4de8). - Los componentes
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContaineryWideCardContainerahora son estables (I34390). - Se cambió el nombre de
StandardCardLayoutaStandardCardContainery el deWideCardLayoutaWideCardContainer(I08883). - Se quitó
CardContainerDefaults.ImageCardy se cambió el nombre deCardDefaults.ContainerGradientaCardDefaults.ScrimBrush(I6adfe). Puedes usarCarden lugar deCardContainerDefaults.ImageCarden tus contenedores de tarjetas. ListItemyDenseListItemahora son estables (Idebd9).ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBorderyListItemDefaults.SelectedContainerColorOpacityahora son privadas (I5d533)- Se reorganizaron los parámetros de
ListItemy se cambió el nombre deListItemDefaults.ListItemElevationaListItemDefaults.TonalElevation(Id6841). El parámetroheadlineContentse movió a la parte superior del elemento componible. Anteriormente, podías usar la sintaxis de expresión lambda final de Kotlin para pasar elheadlineContent. Ahora, deberás usar la sintaxis de parámetros con nombre para proporcionar elheadlineContent. LocalAbsoluteTonalElevationahora es interno (Ibfc65).- Se quitó el componente
ImmersiveList. Consulta este ejemplo para aprender a crear tu propia versión. (Id48da) - Se actualizaron los componentes de tv-material que exponen un
MutableInteractionSourceen su API para que ahora expongan unMutableInteractionSourceanulable que se establece de forma predeterminada como nulo. Aquí no hay cambios semánticos: pasar un valor 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 unMutableInteractionSourcey que otros componentes solo creen una instancia de forma diferida cuando la necesiten, lo que mejora el rendimiento en todos estos componentes. Si no usas elMutableInteractionSourceque pasas a estos componentes, te recomendamos que pases null en su lugar. También se recomienda que realices cambios similares en tus propios componentes. (I309b4, b/298048146) - El parámetro
TextAligndel componente de texto de TV ahora no es nulo (Ib73b1, b/299490814). - Se introdujo un valor especial Unspecified para los campos
TextAlign,TextDirection,HyphensyLineBreakdelParagraphTextStylepara reemplazar (I4197e, b/299490814).
Cambios de comportamiento
- Se cambió el valor predeterminado del parámetro
shapepara elSurfaceno interactivo aRectangleShape(I1b859cb). - Se quitaron algunas funciones del carrusel para el lanzamiento de la versión beta porque las APIs necesarias son experimentales (I0e755d4).
- El cambio de
contentColorenSurfaceya no anima el cambio entre estados (I436e794f).
Versión 1.0.0
Versión 1.0.0-alpha12
15 de enero de 2025
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.
Cambios en la API
- Se limpian los diseños diferidos de tv-foundation. Consulta las notas de la versión 1.0.0-alpha11 para migrar de los diseños diferidos de tv-foundation. (I2fdd3, b/358913893)
Versión 1.0.0-alpha11
10 de julio de 2024
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Cambios en la API
- Los diseños Lazy para TV dejaron de estar disponibles en la biblioteca de tv-foundation. Consulta este ticket para obtener información sobre cómo migrar de los diseños de carga diferida de la TV. (I0855f, b/332674072)
PlatformImeOptionsahora es una clase concreta en lugar de una interfaz. (If40a4)
Versión 1.0.0-alpha10
4 de octubre de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha10 y androidx.tv:tv-material:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se introdujo
NavigationDrawerItempara usar dentro deNavigationDraweryModalNavigationDrawer. (I4b491) - Se agregó un perfil de Baseline a la biblioteca de tv-foundation. (2b57fd7)
- Se agregó un perfil de Baseline a la biblioteca de tv-material. (1711ff5)
Cambios en la API
- Se cambió el nombre de
NavigationDrawerScope.doesTabRowHaveFocusaNavigationDrawerScope.hasFocus. (I8286b) - Se cambió el nombre de
TabRowScope.isActivatedaTabRowScope.hasFocus. (Ic4273)
Correcciones de errores
- Se corrigió la compatibilidad del carrusel con elementos adyacentes que usan APIs de restablecimiento del enfoque. (7b2a7a4)
- Se inhabilitó la indicación de resplandor para API_LEVEL inferior a 28, ya que el SO no la admite. (6d3616f)
- Se corrigió la falla de ANR causada por la colocación incorrecta de elementos en contenedores perezosos cuando se desplaza rápidamente en dirección inversa. (642d65c)
- Se quitó el padding de fondo en el panel lateral de navegación modal. (69965b2)
- Se corrigió el scrim en el panel lateral de navegación para que se dibuje sobre el contenido de fondo en lugar de detrás de él. (d4bbefb)
Versión 1.0.0-alpha09
6 de septiembre de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha09 y androidx.tv:tv-material:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Cambios en la API
- Se agregó la interfaz
ReusableCompositionpara administrar el ciclo de vida y la reutilización de subcomposiciones. (I812d1, b/252846775) - Sincroniza la bifurcación de tv-foundation con compose-foundation. (I737c3, b/287011882)
- Se agregó la sobrecarga de
LazyLayout, que acepta una expresión lambda deLazyLayoutItemProvider, no un objeto simple como antes. La sobrecarga anterior dejó de estar disponible. (I42a5a) - Se agregó
TvKeyboardAlignmentpara permitir que el desarrollador configure la posición del teclado en pantalla a través deAndroidImeOptions. (Idb772) - Agrega
rememberCarouselStatepara recordarCarouselStateconSaveren TV Compose Material. (Id7275) - Se cambió el parámetro
scrimColor: Colorpor el parámetroscrimBrush:Brushpara permitir que los usuarios agreguen gradientes a la pantalla de atenuación. (I254d4)
Versión 1.0.0-alpha08
26 de julio de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha08 y androidx.tv:tv-material:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se introdujeron los componentes Chip para el material de Compose para TV. (I86da4)
- Se agregó el componente
ListItema Material de Compose para TV. (I3f0b3) - Se agregó el componente
DenseListItema Material de Compose para TV. (I536bf)
Cambios en la API
- Se marcaron las APIs públicas de tv-material como experimentales. (I632e7)
- Se introdujo
TabRowScopepara compartir el estado del elementoTabRowcomponible con el elemento Tab componible y se cambiaron los nombres de las propiedadesTabColors. (Ief587)
Versión 1.0.0-alpha07
7 de junio de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha07 y androidx.tv:tv-material:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Las indicaciones de escala de los componentes ahora incluyen la opción None para inhabilitar el ajuste de escala. (I50df5)
- Se agregó compatibilidad con el clic largo para las superficies, las tarjetas y los botones de Material de TV. (Id2b89)
- Se quitaron
CarouselItemyCarouselScope. La animación de contenido en primer plano se puede lograr en la diapositiva conModifier.animateEnterExitdeAnimatedContentScope. (Ic038e) - Se combinaron los parámetros
colorycontentColorcomocolorspara la superficie de Material de TV. (Ie69eb) - Se introdujo el elemento
RadioButtoncomponible en Material para TV. (I08690) - Se introdujo el elemento
Switchcomponible en Material para TV. (I45e29) - Se introdujo el elemento
Checkboxcomponible en Material para TV. (I6a45a) - Se introdujo una superficie no interactiva en Material para TV. (Ic5f85)
- Las indicaciones se volvieron internas. (Ibff82)
Versión 1.0.0-alpha06
19 de abril de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha06 y androidx.tv:tv-material:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron implementaciones de tarjetas de Material 3 optimizadas para TVs.
- Se agregaron implementaciones de botones de Material 3 optimizadas para TVs.
Cambios en la API
- Se cambió el nombre de
CarouselSlideyslideCountenCarouselporCarouselItemyitemCount. (Ie554c) - Se cambió el nombre de
forwardybackwardContentTransformsporStartToEndyEndToStart. (Ie554c)
Correcciones de errores
- Controla el botón Atrás del D-pad cuando se enfoca
NavigationDrawer. (d654f4)
Versión 1.0.0-alpha05
22 de marzo de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha05 y androidx.tv:tv-material:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se introdujo el elemento componible Side Navigation Drawer en
tv-material. Para obtener información sobre cómo usar este elemento componible, consulta los ejemplos. (I12c08) - Se introdujo el elemento Icon que admite composición en Material 3 para TVs (I72db9).
- Se introdujo el elemento componible Surface en
tv-materialcon indicaciones como Border, Glow y Scale, que se pueden usar para compilar componentes que destaquen claramente el elemento enfocado en la pantalla de la TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Se actualizó
CarouselItemaCarouselSlidepara que coincida con el nombre del parámetroslideCounten la API de "Carousel" (Ic4299).
Versión 1.0.0-alpha04
8 de febrero de 2023
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha04 y androidx.tv:tv-material:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- En filas, columnas y cuadrículas diferidas, se anula la tabla dinámica, si es necesario, a fin de garantizar que se muestre todo el elemento (11d7e40).
- Se agregó personalización de los colores de las pestañas en diferentes estados (21b2925).
- El carrusel ahora acepta animaciones personalizadas para el desplazamiento manual hacia adelante y hacia atrás (431494a).
Cambios en la API
- Se cambió el nombre de
androidx.tv.materialaandroidx.tv.material3y se compactó la estructura del paquete enandroidx.tv.material3(I6ca52). - El indicador dentro de la fila Indicador de carrusel ahora es un espacio que el desarrollador puede personalizar (268af2a).
- Se cambió el nombre de
focusableItemaimmersiveListItem. Los usuarios deberán agregar manualmente los modificadoresfocusable()oclickable()junto conimmersiveListItem(5dd5078)(b/263061052). - Se cambió el nombre de
timeToDisplayMillisaautoScrollDurationMillisen el componente de carrusel (431494a). - Ahora
CarouselItemsolo se puede usar dentro deCarousel(431494a). - El carrusel ahora acepta
ContentTransformscomo definición de animación en lugar deEnterTransitionyExitTransitions(431494a). - Se introdujo la API de
PinnableContainerpropagada por listas diferidas a través de un elemento local de composición que permite fijar el elemento actual (Ib8881, b/259274257, b/195049010). - Se agregó la propiedad
mainAxisItemSpacingaTvLazyListLayoutInfoyTvLazyGridLayoutInfo(I37765).
Correcciones de errores
- Se actualizó la fila de pestañas para asegurarte de que se administre correctamente un recuento de 0 o 1 (I44009), (1c01525), (b/264018028).
- Se corrigió la falla de foco de búsqueda cuando
TvLazyColumncontiene unTvLazyRowvacío (e11b4fe), (b/260299091). - El modificador
clickableahora funciona conImmersiveList(5dd5078), (b/263061052). - Ahora, se maneja la tecla Atrás y se utiliza para salir del carrusel destacado (84c138c).
- El carrusel no pierde el foco cuando se presionan varias teclas rápidamente (799489f).
- El carrusel no pierde el foco cuando se mantienen presionadas las teclas (b2cf37e).
- Se solucionaron las fallas cuando cambia el recuento de diapositivas del carrusel (b261247).
Versión 1.0.0-alpha03
7 de diciembre de 2022
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha03 y androidx.tv:tv-material:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Ahora
TabRowestá disponible como una API experimental que permite a los usuarios agregar barras de navegación superior a sus apps. En general, los dispositivos de TV esperan que se carguen las pestañas cuando el título de la pestaña se enfoca en la fila de pestañas. - Los indicadores específicos de la TV, como el indicador de subrayado y el indicador de píldora, se ofrecen listos para usar. Puedes encontrar muestras de uso en tv-samples
Versión 1.0.0-alpha02
9 de noviembre de 2022
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha02 y androidx.tv:tv-material:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se mejoró el rendimiento de desplazamiento en colecciones de
TvLazyRows/TvLazyColumnsmediante la reducción del espacio de búsqueda del foco (I723a3).
Versión 1.0.0-alpha01
5 de octubre de 2022
Lanzamiento de androidx.tv:tv-foundation:1.0.0-alpha01 y androidx.tv:tv-material:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
La primera versión alfa contiene implementaciones preliminares de componentes para casos de uso de TV, como los siguientes:
- Se agregó el modificador
scrollableWithPivotpara permitir que los contenedores de desplazamiento no diferido, como Fila, Columna o Cuadrícula, hagan que el contenedor de desplazamiento desplace el contenido para que el elemento enfocado permanezca en la misma posición en la pantalla de la TV. - Se agregaron elementos
TvLazyRow,TvLazyColumn,TvLazyHorizontalGridyTvLazyVerticalGridcomponibles para que el contenedor de desplazamiento desplace el contenido para que el elemento enfocado permanezca en la misma posición en la pantalla de la TV. - Se agregó un Carrusel de destacados componible para TV que permite al usuario crear un carrusel de banners con desplazamiento automático.
- Se agregó un elemento de componibilidad de lista envolvente para TV que permite al usuario crear una fila, columna o cuadrícula envolvente que cambie el fondo en función del elemento de la lista enfocado.
Errores conocidos
- Cuando el contenedor de desplazamiento obtiene el foco, el primer elemento no lo obtiene de forma predeterminada.
- Si se enfoca un elemento
TextField, no siempre se abre el teclado o se puede impedir que el enfoque se mueva a otros campos. - El desplazamiento vertical en un
LazyColumnque contieneLazyRowstiene un rendimiento deficiente.