телевизор
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 11 марта 2026 г. | 1.0.1 | - | 1.1.0-beta01 | - |
Объявление зависимостей
Чтобы добавить зависимости от tv-foundation и tv-material, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-beta01" implementation "androidx.tv:tv-material:1.1.0-beta01" }
Котлин
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-beta01") implementation("androidx.tv:tv-material:1.1.0-beta01") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Для этого артефакта отсутствуют примечания к выпуску.
Версия телевизионного материала 1.1
Версия 1.1.0-beta01
11 марта 2026 г.
Выпущена версия androidx.tv:tv-material:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты .
Изменения в API
- Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия ( Idb6b5 , b/344563182 ).
Внешний вклад
- Параметр
androidx.compose.ui.graphics.NativePainttypealias` устарел, используйтеandroid.graphics.Paintнапрямую ( I6303c , b/477394763 ). - Замените
Paint.asFrameworkPaint()на расширениеPaint.nativePaintчтобы избежать раскрытия типа платформы в исходном кодеcommonMainчерезtypealias( I6303c , b/477394763 ).
Версия 1.1.0-alpha01
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 )
Tv-Material Версия 1.0
Версия 1.0.1
16 июля 2025 г.
Выпущена версия androidx.tv:tv-material:1.0.1 . Версия 1.0.1 содержит следующие изменения .
Исправлены ошибки
- Высота элемента
NavigationDrawerItemизменена в соответствии со спецификациями. ( cf9a3ce ) - Перенесена настройка стратегии композитинга с объекта Surface на объект Text. Это исправляет ошибку, из-за которой Exoplayer не отображался на объектах Surface в более старых версиях Android API. ( 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 для работы с фигурами теперь стабильны ( I0f5f4 ).
- API Border теперь стабилен ( I69281 )
- API Glow теперь стабилен ( Iea5f1 )
- Компонент Icon теперь стабилен ( I62c2d )
- API
LocalTextStylesтеперь стабилен ( Iaded8 ) - API
MaterialThemeтеперь стабилен ( I2f541 ) - Компонент «Текст» теперь стабилен ( Ib9e31 )
- Компонент
RadioButtonтеперь стабилен ( Ia03c8 ) - Компонент Switch теперь стабилен ( I6cea3 ).
- Компоненты
Checkboxтеперь стабильны ( I7eafc ) - Поверхностные компоненты теперь стабильны ( I58758 , I04aca ).
- Переименованы
NonInteractiveSurfaceDefaultsвSurfaceDefaultsиNonInteractiveSurfaceColorsвSurfaceColors( I0812e ) - В функции Selectable Surface теперь используется термин «выбрать» вместо «отметить», поскольку они имеют разное семантическое значение ( 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 теперь не равен null ( Ib73b1 , b/299490814 ) - Введено специальное значение «Не указано» для полей
TextAlign,TextDirection,HyphensиLineBreakвParagraphTextStyleдля замены ( I4197e , b/299490814 )
Изменения в поведении
- Значение по умолчанию параметра
shapeдля неинтерактивнойSurfaceизменено наRectangleShape( I1b859cb ). - Некоторые функции карусели были исключены из бета-версии из-за того, что необходимые API являются экспериментальными ( I0e755d4 ).
- Изменение
contentColorвSurfaceбольше не сопровождается анимацией перехода между состояниями ( I436e794f )
Версия 1.0.0
Версия 1.0.0-beta01
11 марта 2026 г.
Выпущена версия androidx.tv:tv-foundation:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Изменения в API
- Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия ( Idb6b5 , b/344563182 ).
Версия 1.0.0-alpha12
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-alpha11
10 июля 2024 г.
Выпущена версия androidx.tv:tv-foundation:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Изменения в API
- Функция отложенной компоновки экрана (tv Lazy Layouts) устарела в библиотеке tv-foundation. Чтобы узнать, как отказаться от функции отложенной компоновки экрана tv, обратитесь к этому тикету . ( I0855f , b/332674072 )
- Теперь
PlatformImeOptions— это конкретный класс, а не интерфейс. ( If40a4 )
Версия 1.0.0-alpha10
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 )
- Добавить базовый профиль в библиотеку tv-material. ( 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-alpha09
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 с compose-foundation. ( I737c3 , b/287011882 )
- Добавлена перегрузка класса
LazyLayout, она принимает лямбда-функцию типаLazyLayoutItemProvider, а не простой объект, как это было раньше. Предыдущая перегрузка устарела. ( I42a5a ) - Добавьте
TvKeyboardAlignment, позволяющий разработчику настраивать положение экранной клавиатуры черезAndroidImeOptions. ( Idb772 ) - Добавьте
rememberCarouselState, чтобы запоминатьCarouselStateприSaverв качестве материала для создания ТВ-приложения. ( Id7275 ) - Изменение параметра
scrimColor: Colorна параметрscrimBrush:Brush, чтобы позволить пользователям добавлять градиенты к полупрозрачному фону. ( I254d4 )
Версия 1.0.0-alpha08
26 июля 2023 г.
Выпущены версии androidx.tv:tv-foundation:1.0.0-alpha08 и androidx.tv:tv-material:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты.
Новые функции
- Представлены компоненты микросхемы для создания телевизионного контента. ( I86da4 )
- Добавьте компонент
ListItemв компонент TV Compose Material. ( I3f0b3 ) - Добавьте компонент
DenseListItemв TV Compose Material. ( I536bf )
Изменения в API
- Общедоступные API для телевизионных материалов помечены как экспериментальные. ( I632e7 )
- Введена функция
TabRowScopeдля обмена состоянием между компонентамиTabRowи Tab, а также переименованы свойстваTabColors. ( Ief587 )
Версия 1.0.0-alpha07
7 июня 2023 г.
Выпущены версии androidx.tv:tv-foundation:1.0.0-alpha07 и androidx.tv:tv-material:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты.
Изменения в API
- Теперь в индикаторах масштабирования компонентов присутствует опция «Нет», позволяющая отключить масштабирование. ( I50df5 )
- Добавлена поддержка длительного нажатия для элементов интерфейса TV Material Surface, карточек и кнопок. ( Id2b89 )
-
CarouselItemиCarouselScopeбыли удалены. Анимацию содержимого переднего плана на слайде можно реализовать с помощьюModifier.animateEnterExitизAnimatedContentScope. ( Ic038e ) - Объединены параметры
colorиcontentColorв качествеcolorsдля Material Surface на телевизоре. ( IE69eb ) - Введена возможность компоновки
RadioButtonв TV Material. ( I08690 ) - Введена
Switch, компонуемая в телевизионном материале. ( I45e29 ) - Введена возможность компоновки
Checkboxв телевизионном материале. ( I6a45a ) - В телевизионные материалы введена неинтерактивная поверхность. ( Ic5f85 )
- Сделайте указания внутренними. ( Ibff82 )
Версия 1.0.0-alpha06
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 ) - Переименованы
ContentTransformsforwardиbackwardвStartToEndиEndToStart. ( IE554c )
Исправлены ошибки
- Обработка нажатия кнопки DPAD "Назад" при фокусировке на
NavigationDrawer. ( d654f4 )
Версия 1.0.0-alpha05
22 марта 2023 г.
Выпущены версии androidx.tv:tv-foundation:1.0.0-alpha05 и androidx.tv:tv-material:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты.
Изменения в API
- Представляем боковую навигационную панель, интегрируемую в
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-alpha04
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 ) - В компоненте Carousel
timeToDisplayMillisпереименована вautoScrollDurationMillis. ( 431494a ) - Теперь
CarouselItemможно использовать только внутриCarousel. ( 431494a ) - Теперь Carousel принимает
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-alpha03
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-alpha02
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-alpha01
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позволяет контейнеру прокручивать содержимое таким образом, чтобы элемент, находящийся в фокусе, оставался в одном и том же положении на экране телевизора. - Добавлена функция создания карусели с избранными баннерами для телевизоров, позволяющая пользователю создавать автоматически прокручивающуюся баннерную карусель.
- Добавлена возможность компоновки иммерсивного списка для телевизора, позволяющая пользователю создавать иммерсивные строки/столбцы/сетки, фон которых меняется в зависимости от элемента списка, находящегося в фокусе.
Известные проблемы
- Когда прокручиваемый контейнер получает фокус, первый элемент по умолчанию не получает фокус.
- При фокусировке на
TextFieldне всегда открывается клавиатура, или же это может препятствовать перемещению фокуса на другие поля. - Вертикальная прокрутка в
LazyColumn, содержащемLazyRows, демонстрирует низкую производительность.