телевизор
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
21 августа 2024 г. | 1.0.0 | - | - | - |
Объявление зависимостей
Чтобы добавить зависимости от tv-foundation и tv-material, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
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") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см. в документации по системе отслеживания проблем .
Для этого артефакта нет примечаний к выпуску.
ТВ-Материал Версия 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-альфа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. ( 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. ( 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
имеет низкую производительность.