тв
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 16 июля 2025 г. | 1.0.1 | - | - | 1.1.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимости от tv-foundation и tv-material, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Котлин
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Заметок о выпуске для этого артефакта нет.
ТВ-материалы Версия 1.1
Версия 1.1.0-альфа01
15 января 2025 г.
Выпущен androidx.tv:tv-material:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты .
Изменения API
- Измените
FocusEnterExitScope.cancelFocus()наcancelFocusChange()( I89959 ) -
FocusProperties.enterиFocusProperties.exitбыли заменены наonEnterиonExitсоответственно, используя область действия приемника вместо параметраFocusDirection. ( I6e667 )
Исправления ошибок
-
CompositingStrategy.OffScreenперемещен из Surface в Text для устранения дрожания текста при масштабировании. ( I92b15f17 ) - Исправлено некорректное управление фокусом в карусели ( Ie508b721375 ).
- Поверхность (неинтерактивная) имеет упрощенную реализацию по сравнению с интерактивными. ( I7ea545150 )
ТВ-материалы Версия 1.0
Версия 1.0.1
16 июля 2025 г.
Выпущен androidx.tv:tv-material:1.0.1 . Версия 1.0.1 содержит следующие коммиты .
Исправления ошибок
- Обновлена высота
NavigationDrawerItemдля соответствия спецификациям. ( cf9a3ce ) - Конфигурация стратегии компоновки перенесена из компоновки Surface в компоновку Text. Это исправляет ошибку, из-за которой Exoplayer не отображал компоновку Surface на более ранних версиях API Android. ( 9858ffb )
Версия 1.0.0
21 августа 2024 г.
Выпущен androidx.tv:tv-material:1.0.0 . Версия 1.0.0 — первый стабильный релиз androidx.tv:tv-material .
Версия 1.0.0-rc02
7 августа 2024 г.
Выпущен androidx.tv:tv-material:1.0.0-rc02 . Версия 1.0.0-rc02 содержит следующие коммиты .
Исправления ошибок
- Исправлена анимация дрожания текста в Surface Composable. ( 3163319 )
Версия 1.0.0-rc01
10 июля 2024 г.
Выпущен androidx.tv:tv-material:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты .
Версия 1.0.0-beta01
1 мая 2024 г.
Выпущен androidx.tv:tv-material:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Изменения API
-
ColorSchemeи его служебные функции теперь стабильны. ( If34fa ) -
LocalContentColorтеперь стабилен ( I60ee2 ) - API
Typographyтеперь стабилен ( I088d6 ) - API-интерфейсы Shapes теперь стабильны ( I0f5f4 )
- API Border теперь стабилен ( I69281 )
- API Glow теперь стабилен ( Iea5f1 )
- Компонент значка теперь стабилен ( I62c2d )
- API
LocalTextStylesтеперь стабилен ( Iaded8 ) - API
MaterialThemeтеперь стабилен ( I2f541 ) - Текстовый компонент теперь стабилен ( Ib9e31 )
- Компонент
RadioButtonтеперь стабилен ( Ia03c8 ) - Компонент коммутатора теперь стабилен ( I6cea3 )
- Компоненты
Checkboxтеперь стабильны ( I7eafc ) - Поверхностные компоненты теперь стабильны ( I58758 , I04aca )
-
NonInteractiveSurfaceDefaultsпереименован вSurfaceDefaults, аNonInteractiveSurfaceColorsвSurfaceColors( I0812e ) - В качестве выбираемой поверхности теперь используется термин «выбрать» вместо «проверить», поскольку оба они имеют разное семантическое значение ( I5a206 ).
-
NavigationDrawerиNavigationDrawerScopeтеперь стабильны ( I249c1 ) - Компонент
NavigationDrawerItemтеперь стабилен ( Id6986 ) - Компоненты Tab и
TabRowтеперь стабильны ( I92d92 ) - Компоненты
Button,OutlinedButton,IconButton,OutlinedIconButtonиWideButtonтеперь стабильны ( Ib4de8 ) - Компоненты
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContainerиWideCardContainerтеперь стабильны ( I34390 ) -
StandardCardLayoutпереименован вStandardCardContainer, аWideCardLayoutвWideCardContainer( I08883 ) - Удалён
CardContainerDefaults.ImageCardи переименованCardDefaults.ContainerGradientвCardDefaults.ScrimBrush( I6adfe ). Вы можете использоватьCardвместоCardContainerDefaults.ImageCardв контейнерах карточек. -
ListItemиDenseListItemтеперь стабильны ( Idebd9 ) -
ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBorderиListItemDefaults.SelectedContainerColorOpacityтеперь являются закрытыми ( I5d533 ) - Параметры
ListItemпереупорядочены и переименованы изListItemDefaults.ListItemElevationвListItemDefaults.TonalElevation( Id6841 ). ПараметрheadlineContentперенесён в начало компонуемого объекта. Раньше для передачиheadlineContentможно было использовать синтаксис завершающих лямбда-выражений Kotlin. Теперь для передачиheadlineContentпридётся использовать синтаксис именованных параметров. -
LocalAbsoluteTonalElevationтеперь является внутренним ( Ibfc65 ) - Компонент
ImmersiveListбыл удалён. Ознакомьтесь с этим примером , чтобы узнать, как создать его самостоятельно. ( Id48da ) - Компоненты tv-material, предоставляющие
MutableInteractionSourceв своём API, были обновлены и теперь предоставляютMutableInteractionSource, допускающий значение NULL, который по умолчанию равен NULL. Семантических изменений здесь нет: передача NULL означает, что вы не хотите подниматьMutableInteractionSource, и он будет создан внутри компонента при необходимости. Изменение на NULL позволяет некоторым компонентам никогда не выделятьMutableInteractionSource, а другим компонентам создавать экземпляр только по мере необходимости, что повышает производительность этих компонентов. Если вы не используетеMutableInteractionSource, передаваемый этим компонентам, рекомендуется передавать вместо него NULL. Также рекомендуется внести аналогичные изменения в ваши собственные компоненты. ( I309b4 , b/298048146 ) - Параметр
TextAlignкомпонента TV Text теперь ненулевой ( Ib73b1 , b/299490814 ) - Введено специальное значение Unspecified для полей
TextAlign,TextDirection,HyphensиLineBreakвParagraphTextStyleдля замены ( I4197e , b/299490814 ).
Изменения поведения
- Значение параметра
shapeпо умолчанию для неинтерактивнойSurfaceизменено наRectangleShape( I1b859cb ). - Некоторые функции карусели были исключены из бета-версии, поскольку необходимые API являются экспериментальными ( I0e755d4 ).
- Изменение
contentColorвSurfaceбольше не анимируется между состояниями ( I436e794f )
Версия 1.0.0
Версия 1.0.0-альфа12
15 января 2025 г.
Выпущен androidx.tv:tv-foundation:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .
Изменения API
- Очистка ленивых макетов в tv-foundation. Чтобы отказаться от ленивых макетов tv-foundation, см. примечания к выпуску 1.0.0-alpha11. ( I2fdd3 , b/358913893 )
Версия 1.0.0-альфа11
10 июля 2024 г.
Выпущен androidx.tv:tv-foundation:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Изменения API
- Лайтинговые макеты TV Lazy Layouts устарели в библиотеке tv-foundation. Чтобы узнать, как отказаться от ленивых макетов TV Lazy Layouts, обратитесь к этому тикету . ( I0855f , b/332674072 )
-
PlatformImeOptionsтеперь является конкретным классом, а не интерфейсом. ( If40a4 )
Версия 1.0.0-альфа10
4 октября 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha10 и androidx.tv:tv-material:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит эти коммиты.
Новые функции
- Введен
NavigationDrawerItemдля использования вNavigationDrawerиModalNavigationDrawer. ( I4b491 ) - Добавить базовый профиль в библиотеку tv-foundation. ( 2b57fd7 )
- Добавить базовый профиль в библиотеку телевизионных материалов. ( 1711ff5 )
Изменения API
-
NavigationDrawerScope.doesTabRowHaveFocusпереименован вNavigationDrawerScope.hasFocus. ( I8286b ) -
TabRowScope.isActivatedпереименован вTabRowScope.hasFocus. ( Ic4273 )
Исправления ошибок
- Исправлена совместимость карусели с соседними элементами, использующими API восстановления фокуса. ( 7b2a7a4 )
- Отключить индикацию свечения для API_LEVEL ниже 28, так как она не поддерживается ОС. ( 6d3616f )
- Исправлен сбой ANR, вызванный неправильным размещением элементов в ленивых контейнерах при быстрой прокрутке в обратном направлении. ( 642d65c )
- Удален фоновый отступ в Модальном навигационном ящике. ( 69965b2 )
- Исправлена проблема с отображением холста в панели навигации поверх фонового содержимого, а не за ним. ( d4bbefb )
Версия 1.0.0-альфа09
6 сентября 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha09 и androidx.tv:tv-material:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит эти коммиты.
Изменения API
- Добавить интерфейс
ReusableCompositionдля управления жизненным циклом и повторным использованием подкомпозиций. ( I812d1 , b/252846775 ) - Синхронизировать tv-foundation fork с compose-foundation. ( I737c3 , b/287011882 )
- Добавлена перегрузка
LazyLayout, которая принимает лямбда-функциюLazyLayoutItemProvider, а не простой объект, как раньше. Предыдущая перегрузка устарела. ( I42a5a ) - Добавьте
TvKeyboardAlignment, чтобы позволить разработчику настраивать положение экранной клавиатуры черезAndroidImeOptions. ( Idb772 ) - Добавьте
rememberCarouselState, чтобы запомнитьCarouselStateс помощьюSaverдля создания телевизионного материала. ( Id7275 ) - Изменение параметра
scrimColor: Colorна параметрscrimBrush:Brushпозволяет пользователям добавлять градиенты к холсту. ( I254d4 )
Версия 1.0.0-альфа08
26 июля 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha08 и androidx.tv:tv-material:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит эти коммиты.
Новые функции
- Представлены компоненты Chip для создания телевизионного материала. ( I86da4 )
- Добавить компонент
ListItemв TV Compose Material. ( I3f0b3 ) - Добавить компонент
DenseListItemв TV Compose Material. ( I536bf )
Изменения API
- API публичных телевизионных материалов отмечены как экспериментальные. ( I632e7 )
- Введен
TabRowScopeдля совместного использования состояния компонуемого элементаTabRowс компонуемым элементом Tab, а также переименованы свойстваTabColors. ( Ief587 )
Версия 1.0.0-альфа07
7 июня 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha07 и androidx.tv:tv-material:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит эти коммиты.
Изменения API
- Индикация масштаба компонентов теперь включает значение None, отключающее масштабирование. ( I50df5 )
- Добавлена поддержка длительного нажатия для поверхности ТВ-материалов, карт и кнопок. ( Id2b89 )
-
CarouselItemиCarouselScopeудалены. Анимацию содержимого переднего плана можно реализовать в слайде с помощьюModifier.animateEnterExitизAnimatedContentScope. ( Ic038e ) - Объединены параметры
colorиcontentColorв качествеcolorsдля поверхности ТВ-материала. ( Ie69eb ) - Введена возможность компоновки
RadioButtonв TV Material. ( I08690 ) - Введена возможность компоновки
Switchв телевизионных материалах. ( I45e29 ) - Введена возможность компоновки
Checkboxв телевизионных материалах. ( I6a45a ) - Введена неинтерактивная поверхность в телевизионный материал. ( Ic5f85 )
- Сделать показания внутренними. ( Ibff82 )
Версия 1.0.0-альфа06
19 апреля 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha06 и androidx.tv:tv-material:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит эти коммиты.
Новые функции
- Добавьте реализации карт Material 3, оптимизированные для ТВ.
- Добавьте реализацию кнопок Material 3, оптимизированную для ТВ.
Изменения API
- Переименованы
CarouselSlideиslideCountвCarouselвCarouselItemиitemCount. ( Ie554c ) - Переименованы
forwardиbackwardContentTransformsвStartToEndиEndToStart. ( Ie554c )
Исправления ошибок
- Обрабатывать кнопку DPAD назад при фокусировке на
NavigationDrawer. ( d654f4 )
Версия 1.0.0-альфа05
22 марта 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha05 и androidx.tv:tv-material:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит эти коммиты.
Изменения API
- Представляем компонуемый элемент Side Navigation Drawer в
tv-material. Чтобы узнать, как использовать этот компонуемый элемент, обратитесь к примерам ( I12c08 ). - Представляем иконку, которую можно компоновать в TV Material 3 ( I72db9 )
- Представляем Surface, компонуемую в
tv-materialс такими признаками, как Border, Glow и Scale, которые можно использовать для создания компонентов, четко выделяющих сфокусированный элемент на экране телевизора. ( I4a6d8 ), ( Iceea1 ), ( Iee4d4 ), ( I79edf ), ( Icb376 ) - Обновите
CarouselItemдоCarouselSlide, чтобы соответствовать имени параметраslideCountв API «Carousel» ( Ic4299 ).
Версия 1.0.0-альфа04
8 февраля 2023 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha04 и androidx.tv:tv-material:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.
Новые функции
- В ленивых строках, столбцах и сетках точка опоры при необходимости переопределяется, чтобы обеспечить отображение всего элемента. ( 11d7e40 )
- Добавить настройку цветов вкладок в разных состояниях. ( 21b2925 )
- Карусель теперь поддерживает пользовательские анимации для ручной прокрутки вперед и назад. ( 431494a )
Изменения API
- Переименование
androidx.tv.materialвandroidx.tv.material3и выравнивание структуры пакета вandroidx.tv.material3. ( I6ca52 ) - Индикатор в строке индикатора карусели теперь представляет собой слот, который может быть настроен разработчиком. ( 268af2a )
-
focusableItemпереименован вimmersiveListItem. Пользователям придётся вручную добавлять модификаторыfocusable()илиclickable()вместе сimmersiveListItem( 5dd5078 )( b/263061052 ). - Переименовано
timeToDisplayMillisвautoScrollDurationMillisв компоненте Carousel. ( 431494a ) -
CarouselItemтеперь можно использовать только в пределахCarousel. ( 431494a ) - Карусель теперь принимает
ContentTransformsв качестве определения анимации вместоEnterTransitionиExitTransitions. ( 431494a ) - Представлен API
PinnableContainer, распространяемый ленивыми списками через локальную композицию, которая позволяет закреплять текущий элемент. ( Ib8881 , b/259274257 , b/195049010 ) - Добавлено свойство
mainAxisItemSpacingвTvLazyListLayoutInfoиTvLazyGridLayoutInfo( I37765 ).
Исправления ошибок
- Обновите строку вкладок, чтобы убедиться, что она правильно обрабатывает количество вкладок 0 или 1. ( I44009 ), ( 1c01525 ), ( b/264018028 )
- Исправлен сбой при поиске фокуса, когда
TvLazyColumnсодержит пустойTvLazyRow. ( e11b4fe ), ( b/260299091 ) - Модификатор
clickableтеперь работает сImmersiveList. ( 5dd5078 ), ( b/263061052 ) - Клавиша «Назад» теперь обрабатывается и используется для выхода из избранного карусели. ( 84c138c )
- Карусель не теряет фокус при многократном быстром нажатии клавиш. ( 799489f )
- Карусель не теряет фокус при длительном нажатии клавиш. ( b2cf37e )
- Устранены сбои при изменении количества слайдов в карусели. ( b261247 )
Версия 1.0.0-альфа03
7 декабря 2022 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha03 и androidx.tv:tv-material:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.
Новые функции
-
TabRowтеперь доступен в качестве экспериментального API, позволяющего пользователям добавлять в свои приложения верхние панели навигации. Как правило, телевизоры ожидают, что вкладки будут загружаться, когда фокус находится на заголовке вкладки в строке вкладок. - Специальные индикаторы для телевизоров, такие как индикатор подчёркивания и индикатор таблеток, доступны в комплекте поставки. Примеры использования можно найти в разделе «TV-Samples».
Версия 1.0.0-альфа02
9 ноября 2022 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha02 и androidx.tv:tv-material:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.
Исправления ошибок
- Улучшена производительность прокрутки при прокрутке коллекции
TvLazyRows/TvLazyColumnsза счет уменьшения области поиска фокуса. ( I723a3 )
Версия 1.0.0-альфа01
5 октября 2022 г.
Выпущены androidx.tv:tv-foundation:1.0.0-alpha01 и androidx.tv:tv-material:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит эти коммиты.
Новые функции
Первая альфа-версия содержит предварительные реализации компонентов для использования на телевидении, в том числе:
- Добавление модификатора
scrollableWithPivotпозволяет контейнерам с неленивой прокруткой, таким как Row, Column, Grid, прокручивать содержимое таким образом, чтобы элемент в фокусе оставался в том же положении на экране телевизора. - Добавление компонуемых элементов
TvLazyRow,TvLazyColumn,TvLazyHorizontalGrid,TvLazyVerticalGridпозволяет прокручивающемуся контейнеру прокручивать содержимое так, чтобы элемент в фокусе оставался в том же положении на экране телевизора. - Добавлена компоновка рекомендуемой карусели для ТВ, которая позволяет пользователю создавать автоматически прокручивающуюся карусель баннеров.
- Добавление компонуемого списка Immersive для ТВ, который позволяет пользователю создавать строку/столбец/сетку Immersive, меняющую фон в зависимости от элемента списка, находящегося в фокусе.
Известные проблемы
- Когда прокручиваемый контейнер получает фокус, первый элемент по умолчанию не получает фокус.
- При фокусировке на
TextFieldне всегда открывается клавиатура или может помешать перемещению фокуса на другие поля. - Вертикальная прокрутка в
LazyColumn, содержащемLazyRowsимеет низкую производительность.