tv
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
21 de agosto de 2024 | 1.0.0 | - | - | - |
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-alpha11" implementation "androidx.tv:tv-material:1.0.0" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0") }
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.0
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 Jittery 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
ColorScheme
y sus funciones de utilidad ahora son estables. (If34fa).LocalContentColor
ahora es estable. (I60ee2)- La API de
Typography
ahora 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 del ícono ahora es estable. (I62c2d)
- La API de
LocalTextStyles
ahora es estable. (Iaded8) - La API de
MaterialTheme
ahora es estable. (I2f541) - El componente de texto ahora es estable. (Ib9e31)
- El componente
RadioButton
ahora es estable. (Ia03c8) - El componente Switch ahora es estable. (I6cea3)
- Los componentes
Checkbox
ahora son estables. (I7eafc) - Los componentes de Surface ahora son estables. (I58758, I04aca)
- Se cambió el nombre de
NonInteractiveSurfaceDefaults
porSurfaceDefaults
y el deNonInteractiveSurfaceColors
porSurfaceColors
(I0812e). - Surface seleccionable ahora usa la terminología "select" en lugar de "check", ya que ambas tienen significados semánticos diferentes. (I5a206)
NavigationDrawer
yNavigationDrawerScope
ahora son estables. (I249c1)- El componente
NavigationDrawerItem
ahora es estable. (Id6986) - Los componentes de la pestaña y de
TabRow
ahora son estables. (I92d92) - Los componentes
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
yWideButton
ahora son estables. (Ib4de8) Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
y Los componentes deWideCardContainer
ahora son estables. (I34390)- Se cambió el nombre de
StandardCardLayout
porStandardCardContainer
y el deWideCardLayout
porWideCardContainer
. (I08883) - Se quitó
CardContainerDefaults.ImageCard
y se cambió el nombre deCardDefaults.ContainerGradient
aCardDefaults.ScrimBrush
(I6adfe). Puedes usarCard
en lugar deCardContainerDefaults.ImageCard
en los contenedores de tarjetas. ListItem
yDenseListItem
ahora son estables. (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
yListItemDefaults.SelectedContainerColorOpacity
ahora son privados. (I5d533)- Se reorganizaron los parámetros de
ListItem
y Se cambió el nombre deListItemDefaults.ListItemElevation
porListItemDefaults.TonalElevation
(Id6841). Se movió el parámetroheadlineContent
a la parte superior del elemento componible. Anteriormente, puedes usar la sintaxis lambda final de Kotlin para pasar elheadlineContent
. Ahora, deberás usar la sintaxis del parámetro con nombre para proporcionar elheadlineContent
. LocalAbsoluteTonalElevation
ahora es un elemento interno. (Ibfc65)- Se quitó el componente
ImmersiveList
. Consulta este ejemplo para aprender a compilarlo tú mismo. (Id48da). - Se actualizaron los componentes de tv-material que exponen un
MutableInteractionSource
en su API para exponer unMutableInteractionSource
anulable que tiene un valor predeterminado nulo. No hay cambios semánticos aquí: pasar un valor nulo significa que no deseas elevar elMutableInteractionSource
y, si es necesario, se creará dentro del componente. Cambiar a nulo permite que algunos componentes nunca asignen unMutableInteractionSource
y permite que otros componentes solo creen de forma diferida una instancia 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 se recomienda que realices cambios similares en tus propios componentes. (I309b4, b/298048146). - El parámetro
TextAlign
del componente de TV Text ya no es nulo. (Ib73b1, b/299490814) - Se introdujo un valor especial sin especificar para los campos
TextAlign
,TextDirection
,Hyphens
yLineBreak
deParagraphTextStyle
que se reemplazará (I4197e, b/299490814).
Cambios de comportamiento
- Se cambió el valor predeterminado del parámetro
shape
paraSurface
no interactivo aRectangleShape
(I1b859cb). - Se quitaron algunas funciones de carrusel para el lanzamiento de la versión beta debido a que las APIs necesarias estaban en fase experimental (I0e755d4).
- El cambio de
contentColor
enSurface
ya no tiene una animación entre estados. (I436e794f)
Versión 1.0.0
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 diferidos de 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 diferidos de la TV. (I0855f, b/332674072).
- Ahora,
PlatformImeOptions
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 agregó
NavigationDrawerItem
para usar enNavigationDrawer
yModalNavigationDrawer
. (I4b491). - Se agregó el perfil de Baseline a la biblioteca de tv-foundation. (2b57fd7).
- Se agregó el perfil de Baseline a la biblioteca de tv-material. (1711ff5).
Cambios en la API
- Se cambió el nombre de
NavigationDrawerScope.doesTabRowHaveFocus
aNavigationDrawerScope.hasFocus
. (I8286b). - Se cambió el nombre de
TabRowScope.isActivated
aTabRowScope.hasFocus
. (Ic4273).
Correcciones de errores
- Se corrigió la compatibilidad de Carrusel con elementos adyacentes que usan APIs de restauración de enfoque. (7b2a7a4).
- Inhabilita la indicación de brillo para el nivel de API inferior a 28, ya que el SO no lo admite. (6d3616f).
- Se corrigió la falla de ANR que se producía por la ubicación incorrecta de elementos en contenedores diferidos cuando se desplazaba rápido en dirección inversa. (642d65c).
- Se quitó el padding del fondo del panel lateral de navegación modal. (69965b2).
- Se corrigió la lámina del panel lateral de navegación para que se dibuje encima del contenido en segundo plano 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
ReusableComposition
para administrar el ciclo de vida y la reutilización de subcomposiciones (I812d1, b/252846775). - Sincroniza la bifurcación tv-foundation con compose-foundación. (I737c3, b/287011882).
- Se agregó una sobrecarga de
LazyLayout
. Acepta una lambda deLazyLayoutItemProvider
, no un objeto sin formato como estaba antes. La sobrecarga anterior dejó de estar disponible. (I42a5a). - Se agregó
TvKeyboardAlignment
para permitir que el desarrollador configure la posición del teclado en pantalla medianteAndroidImeOptions
. (Idb772). - Se agregó
rememberCarouselState
para recordarCarouselState
conSaver
a TV Compose Material. (Id7275). - Cambiar el parámetro
scrimColor: Color
al parámetroscrimBrush:Brush
para permitir que los usuarios agreguen gradientes a la lámina. (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 presentaron los componentes de chips para el material de Compose para TV. (I86da4).
- Se agregó el componente
ListItem
a TV Compose Material. (I3f0b3). - Se agregó el componente
DenseListItem
a TV Compose Material. (I536bf).
Cambios en la API
- Se marcaron las APIs públicas de tv-material como experimentales. (I632e7).
- Se agregó
TabRowScope
para compartir el estado desde el elementoTabRow
componible con el elemento componible Tab y se cambió el nombre 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 Ninguno para inhabilitar el escalamiento. (I50df5).
- Se agregó compatibilidad con clics largos para la superficie de material de TV, las tarjetas y los botones. (Id2b89).
- Se quitaron
CarouselItem
yCarouselScope
. La animación de contenido en primer plano se puede lograr en la diapositiva usandoModifier.animateEnterExit
deAnimatedContentScope
. (Ic038e). - Se combinaron los parámetros
color
ycontentColor
comocolors
para la superficie de Material de TV. (Ie69eb). - Se agregó el elemento
RadioButton
componible en TV Material. (I08690). - Se agregó el elemento
Switch
componible en TV Material. (I45e29). - Se agregó el elemento
Checkbox
componible en TV Material. (I6a45a). - Se agregó la función Surface no interactuable en TV Material. (Ic5f85).
- Haz que las indicaciones sean 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 TV.
- Se agregaron implementaciones del botón de Material 3 optimizadas para TV.
Cambios en la API
- Se cambió el nombre de
CarouselSlide
yslideCount
enCarousel
aCarouselItem
yitemCount
. (Ie554c). - Se cambió el nombre de
forward
ybackward
ContentTransforms
aStartToEnd
yEndToStart
. (Ie554c).
Correcciones de errores
- Controla el botón Atrás Dpad cuando se enfoca en
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
- Presentamos el elemento componible del panel lateral de navegación lateral en
tv-material
. Para obtener información sobre cómo usar este elemento componible, consulta los ejemplos. (I12c08). - Se agregó Icon componible en TV Material 3. (I72db9)
- Presentamos el elemento componible Surface para
tv-material
con indicaciones como el borde, el brillo y la escala, que se pueden usar para compilar componentes que destacan claramente el elemento enfocado en la pantalla de la TV. (I4a6d8), (Iceea1). (Iee4d4), (I79edf), (Icb376). - Se actualizó
CarouselItem
aCarouselSlide
para que coincida con el nombre del parámetroslideCount
en "Carrusel". API (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.material
aandroidx.tv.material3
y 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
focusableItem
aimmersiveListItem
. Los usuarios deberán agregar manualmente los modificadoresfocusable()
oclickable()
junto conimmersiveListItem
(5dd5078)(b/263061052). - Se cambió el nombre de
timeToDisplayMillis
aautoScrollDurationMillis
en el componente de carrusel (431494a). - Ahora
CarouselItem
solo se puede usar dentro deCarousel
(431494a). - El carrusel ahora acepta
ContentTransforms
como definición de animación en lugar deEnterTransition
yExitTransitions
(431494a). - Se introdujo la API de
PinnableContainer
propagada 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
mainAxisItemSpacing
aTvLazyListLayoutInfo
yTvLazyGridLayoutInfo
(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
TvLazyColumn
contiene unTvLazyRow
vacío (e11b4fe), (b/260299091). - El modificador
clickable
ahora 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
TabRow
está 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/TvLazyColumns
mediante 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
scrollableWithPivot
para 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
,TvLazyHorizontalGrid
yTvLazyVerticalGrid
componibles 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
LazyColumn
que contieneLazyRows
tiene un rendimiento deficiente.