tv
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2023 年 2 月 8 日 | - | - | - | 1.0.0-alpha04 |
声明依赖项
若要添加 tv-foundation 和 tv-material 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha04" implementation "androidx.tv:tv-material:1.0.0-alpha04" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha04") implementation("androidx.tv:tv-material:1.0.0-alpha04") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
此工件没有版本说明。
版本 1.0.0
版本 1.0.0-alpha04
2023 年 2 月 8 日
发布了 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
。(431494a) CarouselItem
现在只能在Carousel
内使用。(431494a)- 轮播界面现在接受
ContentTransforms
而不是EnterTransition
和ExitTransitions
作为动画定义。(431494a) - 引入了
PinnableContainer
API,由延迟列表通过本地组合进行传播,以便固定当前项。(Ib8881、b/259274257、b/195049010) - 向
TvLazyListLayoutInfo
和TvLazyGridLayoutInfo
添加了mainAxisItemSpacing
属性 (I37765)
bug 修复
- 更新了标签页行,以确保它能正确处理标签页数量为 0 或 1 时的情况。(I44009)、(1c01525)、(b/264018028)
- 修复了当
TvLazyColumn
包含空TvLazyRow
时焦点搜索崩溃的问题。(e11b4fe)、(b/260299091) clickable
修饰符现在可与ImmersiveList
搭配使用。(5dd5078)、(b/263061052)- 系统现在会处理返回键,该按键可用于退出“精选轮播界面”。(84c138c)
- 用户多次快速按下按键时轮播界面不会失去焦点。(799489f)
- 用户长按按键时轮播界面不会失去焦点。(b2cf37e)
- 解决了轮播界面幻灯片数量变化时发生崩溃的问题。(b261247)
版本 1.0.0-alpha03
2022 年 12 月 7 日
发布了 androidx.tv:tv-foundation:1.0.0-alpha03
和 androidx.tv:tv-material:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
新功能
TabRow
现已作为实验性 API 发布,允许用户在其应用内添加顶级导航栏。一般来说,当标签页行中的标签页标题被聚焦时,TV 设备应该会加载标签页。- TV 专用指示器(比如底线状指示器和药丸状指示器)均可即开即用。您可在 tv-samples 中找到用法示例
版本 1.0.0-alpha02
2022 年 11 月 9 日
发布了 androidx.tv:tv-foundation:1.0.0-alpha02
和 androidx.tv:tv-material:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
bug 修复
- 通过减少焦点搜索空间,提升了滚动一系列
TvLazyRows/TvLazyColumns
时的滚动性能。(I723a3)
版本 1.0.0-alpha01
2022 年 10 月 5 日
发布了 androidx.tv:tv-foundation:1.0.0-alpha01
和 androidx.tv:tv-material:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
首个 Alpha 版包含适用于 TV 用例的组件的早期预览版实现,包括:
- 添加了修饰符
scrollableWithPivot
,可允许非延迟滚动容器(例如:行、列和网格)让滚动容器滚动内容,从而使获得焦点的项在 TV 屏幕上保持同一位置。 - 添加了可组合项
TvLazyRow
、TvLazyColumn
、TvLazyHorizontalGrid
和TvLazyVerticalGrid
,可让滚动容器滚动内容,从而使获得焦点的项目在 TV 屏幕上保持同一位置。 - 添加了适用于 TV 的精选轮播界面可组合项,可让用户创建自动滚动横幅的轮播界面。
- 为 TV 添加了沉浸式列表可组合项,可让用户创建根据获得焦点的列表项来更改背景的沉浸式行/列/网格。
已知问题
- 默认情况下,滚动容器获得焦点后,第一个元素不会获得焦点。
- 聚焦在
TextField
上时,不一定会打开键盘,也可能阻止焦点移至其他字段。 - 在包含
LazyRows
的LazyColumn
中垂直滚动时,性能不佳。