телевизор
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
15 января 2025 г. | 1.0.0 | - | - | 1.1.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимости от tv-foundation и tv-material, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha11" implementation "androidx.tv:tv-material:1.0.0" }
Котлин
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать 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 ).
- Surface (неинтерактивный) имеет упрощенную реализацию по сравнению с интерактивными. ( I7ea545150 )
ТВ-Материал Версия 1.0
Версия 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 содержит эти коммиты .
Исправления ошибок
- Исправлена текстовая анимация Jittery в компонуемой поверхности. ( 3163319 )
Версия 1.0.0-rc01
10 июля 2024 г.
androidx.tv:tv-material:1.0.0-rc01
выпущен. Версия 1.0.0-rc01 содержит эти коммиты .
Версия 1.0.0-бета01
1 мая 2024 г.
androidx.tv:tv-material:1.0.0-beta01
выпущен. Версия 1.0.0-beta01 содержит эти коммиты .
Изменения API
-
ColorScheme
и ее служебные функции теперь стабильны. ( Если34фа ) -
LocalContentColor
теперь стабилен ( I60ee2 ) -
Typography
API теперь стабилен ( I088d6 ). - API фигур теперь стабильны ( I0f5f4 ).
- Border API теперь стабилен ( I69281 ).
- Glow API теперь стабилен ( 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
. Теперь вам нужно будет использовать синтаксис именованных параметров для предоставленияheadlineContent
. -
LocalAbsoluteTonalElevation
теперь является внутренним ( Ibfc65 ). - Компонент
ImmersiveList
был удален. Посмотрите этот образец , чтобы узнать, как построить его самостоятельно. ( Ид48да ) - Компоненты tv-material, предоставляющие
MutableInteractionSource
в своем API, были обновлены и теперь предоставляютMutableInteractionSource
с нулевым значением, который по умолчанию имеет значение null. Здесь нет никаких семантических изменений: передача null означает, что вы не хотите подниматьMutableInteractionSource
, и при необходимости он будет создан внутри компонента. Изменение значения null позволяет некоторым компонентам никогда не выделятьMutableInteractionSource
, а другим компонентам — только лениво создавать экземпляр, когда это необходимо, что повышает производительность этих компонентов. Если вы не используетеMutableInteractionSource
который передаете этим компонентам, рекомендуется вместо этого передать значение null. Также рекомендуется внести аналогичные изменения в ваши собственные компоненты. ( I309b4 , б/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. Обратитесь к примечаниям к выпуску 1.0.0-alpha11, чтобы перейти от ленивых макетов tv-foundation. ( I2fdd3 , б/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. Обратитесь к этому билету , чтобы узнать, как отказаться от ленивых макетов телевидения. ( I0855f , б / 332674072 )
-
PlatformImeOptions
теперь представляет собой конкретный класс, а не интерфейс. ( Если40а4 )
Версия 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 )
- Исправлена ошибка, из-за которой Scrim в навигационном ящике отображался над фоновым содержимым, а не позади него. ( 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 , б/252846775 ) - Синхронизируйте вилку tv-foundation с compose-foundation. ( I737c3 , б / 287011882 )
- Добавлена перегрузка
LazyLayout
, она принимает лямбдаLazyLayoutItemProvider
, а не простой объект, как это было раньше. Предыдущая перегрузка устарела. ( I42a5a ) - Добавьте
TvKeyboardAlignment
, чтобы позволить разработчику настраивать положение клавиатуры на экране с помощьюAndroidImeOptions
. ( Идб772 ) - Добавьте
rememberCarouselState
, чтобы запомнитьCarouselState
с помощьюSaver
в TV Compose Material. ( Ид7275 ) - Изменение параметра
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. ( 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
- Индикация масштаба компонентов теперь включает значение «Нет», чтобы отключить масштабирование. ( I50df5 )
- Добавлена поддержка длительного нажатия для поверхности материала телевизора, карточек и кнопок. ( Id2b89 )
-
CarouselItem
иCarouselScope
были удалены. Анимацию содержимого переднего плана можно добиться на слайде с помощьюModifier.animateEnterExit
изAnimatedContentScope
. ( Ic038e ) - Параметры
color
иcontentColor
объединены в качествеcolors
для TV Material Surface. ( Ie69eb ) - В ТВ-материалах появилась возможность компоновки
RadioButton
. ( 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 Card, оптимизированную для телевидения.
- Добавить реализацию Material 3 Button, оптимизированную для телевидения.
Изменения API
-
CarouselSlide
иslideCount
вCarousel
переименованы вCarouselItem
иitemCount
. ( Ie554c ) - Переименованы
forward
иbackward
ContentTransforms
в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
- Представляем ящик боковой навигации, который можно встроить в
tv-material
. Чтобы узнать, как использовать этот составной элемент, обратитесь к примерам . ( I12c08 ) - Представляем компонуемый значок в TV Material 3 ( I72db9 )
- Представляем Surface, компонуемый с
tv-material
с такими индикациями, как «Граница», «Свечение» и «Масштаб», которые можно использовать для создания компонентов, которые четко выделяют сфокусированный элемент на экране телевизора. ( 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 )
- Карусель теперь поддерживает пользовательскую анимацию для ручной прокрутки вперед и назад. ( 431494а )
Изменения API
- Переименование
androidx.tv.material
вandroidx.tv.material3
и выравнивание структуры пакета подandroidx.tv.material3
. ( I6ca52 ) - Индикатор в строке индикатора карусели теперь представляет собой слот, который разработчик может настроить. ( 268af2a )
-
focusableItem
переименован вimmersiveListItem
. Пользователям придется вручную добавить модификаторfocusable()
илиclickable()
вместе сimmersiveListItem
( 5dd5078 ) ( b/263061052 ). -
timeToDisplayMillis
переименован вautoScrollDurationMillis
в компоненте Carousel. ( 431494а ) -
CarouselItem
теперь можно использовать только вCarousel
. ( 431494а ) - Carousel теперь принимает
ContentTransforms
в качестве определения анимации вместоEnterTransition
иExitTransitions
. ( 431494а ) - Представлен API
PinnableContainer
распространяемый ленивыми списками через локальную композицию, которая позволяет закреплять текущий элемент. ( Ib8881 , б / 259274257 , б / 195049010 ) - Добавлено свойство
mainAxisItemSpacing
вTvLazyListLayoutInfo
иTvLazyGridLayoutInfo
( I37765 ).
Исправления ошибок
- Обновите строку табуляции, чтобы убедиться, что она правильно обрабатывает количество вкладок 0 или 1. ( I44009 ), ( 1c01525 ), ( б/264018028 )
- Исправлен сбой при поиске фокуса, когда
TvLazyColumn
содержит пустойTvLazyRow
. ( e11b4fe ), ( б/260299091 ) - Модификатор
clickable
, теперь работает сImmersiveList
. ( 5дд5078 ), ( б/263061052 ) - Клавиша «Назад» теперь обрабатывается и используется для выхода из избранной карусели. ( 84c138c )
- Карусель не теряет фокуса при многократном быстром нажатии клавиш. ( 799489ф )
- Карусель не теряет фокуса при длительных нажатиях клавиш. ( b2cf37e )
- Устранены сбои при изменении количества слайдов в карусели. ( б261247 )
Версия 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, позволяющего пользователям добавлять верхние панели навигации в свои приложения. Как правило, телевизионные устройства ожидают загрузки вкладок, когда заголовок вкладки находится в фокусе в строке вкладок. - Индикаторы, специфичные для телевизора, такие как индикатор подчеркивания и индикатор таблетки, предлагаются сразу из коробки. Примеры использования можно найти в телевизионных примерах.
Версия 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
, чтобы контейнер прокрутки прокручивал содержимое так, чтобы элемент в фокусе оставался в том же положении на экране телевизора. - Добавлена возможность компоновки избранной карусели для телевидения, которая позволяет пользователю создавать карусель баннеров с автоматической прокруткой.
- Добавление компонуемого иммерсивного списка для ТВ, который позволяет пользователю создавать иммерсивную строку/столбец/сетку, которая меняет фон в зависимости от элемента списка, находящегося в фокусе.
Известные проблемы
- Когда прокручиваемый контейнер получает фокус, первый элемент по умолчанию не получает фокус.
- Фокус на
TextField
не всегда приводит к открытию клавиатуры или может препятствовать перемещению фокуса на другие поля. - Вертикальная прокрутка в
LazyColumn
, содержащемLazyRows
имеет низкую производительность.