電視
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | - | 1.0.0-rc02 | - | - |
宣告依附元件
如要為 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-rc02" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0-rc02") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
這個構件沒有任何版本資訊。
Tv-Material 1.0 版
1.0.0-rc02 版
2024 年 8 月 7 日
發布 androidx.tv:tv-material:1.0.0-rc02
。1.0.0-rc02 版包含這些修訂版本。
修正錯誤
- 修正 Surface 可組合函式中的抖動文字動畫。(3163319)。
1.0.0-rc01 版
2024 年 7 月 10 日
發布 androidx.tv:tv-material:1.0.0-rc01
。1.0.0-rc01 版包含這些修訂版本。
1.0.0-beta01 版
2024 年 5 月 1 日
發布 androidx.tv:tv-material:1.0.0-beta01
。1.0.0-beta01 版包含這些修訂版本。
API 變更
ColorScheme
及其公用函式現已穩定。(If34fa)。LocalContentColor
現在是穩定版 (I60ee2)Typography
API 現在是穩定版 (I088d6)- Shapes API 現已穩定 (I0f5f4)
- Border API 現在是穩定版 (I69281)
- Glow API 現在是穩定版 (Iea5f1)
- 圖示元件現已穩定 (I62c2d)
LocalTextStyles
API 現在是穩定版 (Iaded8)MaterialTheme
API 現在是穩定版 (I2f541)- Text 元件現已推出穩定版 (Ib9e31)
RadioButton
元件現已穩定 (Ia03c8)- 切換元件現已穩定 (I6cea3)
Checkbox
元件現已穩定 (I7eafc)- 表面元件現已穩定 (I58758、I04aca)
- 已將
NonInteractiveSurfaceDefaults
重新命名為SurfaceDefaults
,並將NonInteractiveSurfaceColors
重新命名為SurfaceColors
(I0812e) - Selectable Surface 現在使用「select」術語而非「check」,因為兩者的語意含義不同 (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
參數已移至可組合項頂端。之前,您可以使用 Kotlin 的結尾 lambda 語法來傳遞headlineContent
。現在,您必須使用具名參數語法,提供headlineContent
。 LocalAbsoluteTonalElevation
現已改為內部 (Ibfc65)- 移除
ImmersiveList
元件。請參閱這個範例,瞭解如何自行建構。(Id48da)。 - 在 API 中公開
MutableInteractionSource
的 tv-material 元件已更新,現在會顯示可為空值的MutableInteractionSource
,其預設為空值。這裡沒有語意變更:傳遞空值表示您不想提升MutableInteractionSource
,系統會視需要在元件中建立。如果將值變更為空值,部分元件就不會分配MutableInteractionSource
,並允許其他元件只在需要時延遲建立執行個體,從而提升這些元件的效能。如果您沒有使用傳遞至這些元件的MutableInteractionSource
,建議您改為傳遞空值。此外,我們也建議您在元件中做出類似的變更。(I309b4、b/298048146) - 電視文字元件的
TextAlign
參數現在不是空值 (Ib73b1、b/299490814) - 針對
ParagraphTextStyle
的TextAlign
、TextDirection
、Hyphens
和LineBreak
欄位推出特殊的未指定值 (I4197e、b/299490814)
行為變更
- 非互動式
Surface
的shape
參數預設值已變更為RectangleShape
(I1b859cb) - 由於必要的 API 仍在實驗階段,因此我們已捨棄部分輪轉介面功能,並禁止發布 Beta 版 (I0e755d4)
- 變更
Surface
中的contentColor
,不會再於狀態之間產生動畫效果 (I436e794f)
1.0.0 版本
1.0.0-alpha11 版本
2024 年 7 月 10 日
發布 androidx.tv:tv-foundation:1.0.0-alpha11
。1.0.0-alpha11 版包含這些修訂版本。
API 變更
- Tv Lazy Layouts 已從 TV-Foundation 程式庫淘汰。如要瞭解如何從電視延遲版面配置遷移,請參閱這張票證。(I0855f、b/332674072)
PlatformImeOptions
現在是具體類別,而非介面。(If40a4)。
1.0.0-alpha10 版本
2023 年 10 月 4 日
發布 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)。
修正錯誤
- 修正 Carousel 與使用焦點還原 API 的相鄰項目的相容性問題。(7b2a7a4)。
- 針對低於 28 的 API_LEVEL 停用光暈指標,因為 OS 不支援這項功能。(6d3616f)。
- 修正以反向捲動方向快速捲動時,延遲容器中的項目位置不當造成的 ANR 當機問題。(642d65c)。
- 已移除強制回應導覽匣的背景邊框間距。(69965b2)。
- 修正 Navigation 導覽匣中的 Scrim 使其繪製在背景內容上方,而非背景。(d4bbefb)。
1.0.0-alpha09 版本
2023 年 9 月 6 日
發布 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 與組合基礎同步處理。(I737c3、b/287011882)
- 已新增
LazyLayout
的超載,可接受LazyLayoutItemProvider
的 lambda,而非之前的純物件。先前的超載已淘汰,(I42a5a)。 - 新增
TvKeyboardAlignment
,可讓開發人員透過AndroidImeOptions
設定螢幕小鍵盤位置。(Idb772)。 - 在電視 Compose Material 中新增
rememberCarouselState
,以記住使用Saver
的CarouselState
。(Id7275)。 - 將
scrimColor: Color
參數變更為scrimBrush:Brush
參數,讓使用者可在 Scrim 中加入漸層。(I254d4)。
1.0.0-alpha08 版本
2023 年 7 月 26 日
發布 androidx.tv:tv-foundation:1.0.0-alpha08
和 androidx.tv:tv-material:1.0.0-alpha08
。1.0.0-alpha08 版包含此連結所列的修訂項目。
新功能
- 為 Compose 推出電視素材的方塊元件。(I86da4)。
- 將
ListItem
元件新增至 TV Compose Material。(I3f0b3)。 - 將
DenseListItem
元件新增至 TV Compose Material。(I536bf)。
API 變更
- 已將公用 tv-material API 標示為實驗功能。(I632e7)。
- 推出
TabRowScope
,以透過 Tab 可組合項分享TabRow
可組合函式的狀態,並重新命名TabColors
屬性。(Ief587)。
1.0.0-alpha07 版本
2023 年 6 月 7 日
發布 androidx.tv:tv-foundation:1.0.0-alpha07
和 androidx.tv:tv-material:1.0.0-alpha07
。1.0.0-alpha07 版包含此連結所列的修訂項目。
API 變更
- 元件的縮放指標現在包含 None 以停用縮放功能。(I50df5)。
- 新增 TV Material Surface、資訊卡和按鈕的長按支援。(Id2b89)。
- 已移除
CarouselItem
和CarouselScope
。可以使用AnimatedContentScope
的Modifier.animateEnterExit
在投影片中播放前景內容動畫。(Ic038e)。 - 已針對 TV Material Surface 將
color
和contentColor
參數合併為colors
。(Ie69eb)。 - 在 TV Material 中導入
RadioButton
可組合項。(I08690)。 - 在 TV Material 中導入
Switch
可組合項。(I45e29)。 - 在 TV Material 中導入
Checkbox
可組合項。(I6a45a)。 - 在 TV Material 中引入無法互動的表面。(Ic5f85)。
- 以內部標示。(Ibff82)。
1.0.0-alpha06 版本
2023 年 4 月 19 日
發布 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 變更
Carousel
中的CarouselSlide
和slideCount
已重新命名為CarouselItem
和itemCount
。(Ie554c)。forward
和backward
ContentTransforms
已重新命名為StartToEnd
和EndToStart
。(Ie554c)。
修正錯誤
- 聚焦於
NavigationDrawer
時,處理返回方向鍵按鈕。(d654f4)。
1.0.0-alpha05 版本
2023 年 3 月 22 日
發布 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)
- 向
tv-material
推出 Surface 可組合項,並加上「框線」、「光暈」和「縮放」等指標,可用於建構元件,在電視螢幕上清楚突顯焦點的元素。(I4a6d8)、 (Iceea1)、 (Iee4d4)、 (I79edf)、 (Icb376)。 - 將
CarouselItem
更新為CarouselSlide
,以符合「輪轉介面」中的slideCount
參數名稱API (Ic4299)
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 版包含此連結所列的修訂項目。
新功能
- 可以視需要覆寫 Lazy 列、欄和格線中的樞紐,確保整個項目呈現在檢視畫面中。(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)。 - 透過本機組合導入可由 Lazy 清單提供的
PinnableContainer
API,藉此固定目前項目。(Ib8881、b/259274257、b/195049010) - 在
TvLazyListLayoutInfo
和TvLazyGridLayoutInfo
中新增mainAxisItemSpacing
屬性 (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 版本
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-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 版包含此連結所列的修訂項目。
修正錯誤
- 縮減聚焦搜尋空間,藉此改善捲動一組
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 版包含下列早期預先發布版的元件實作,適用於電視用途:
- 新增修飾符
scrollableWithPivot
,允許非延遲捲動容器 (例如 Row、Column、Grid) 透過捲動容器來捲動內容,讓已選取項目保持在電視螢幕的相同位置。 - 新增可組合項
TvLazyRow
、TvLazyColumn
、TvLazyHorizontalGrid
和TvLazyVerticalGrid
,以利透過捲動容器來捲動內容,讓已選取項目保持在電視螢幕的相同位置。 - 為電視新增「精選輪轉介面」可組合項目,以便使用者建立自動捲動的橫幅輪轉介面。
- 為電視新增「沉浸式清單」可組合項目,以便使用者建立沉浸式列/欄/格狀清單,並根據已選取清單項目變更背景。
已知問題
- 根據預設,當捲動容器取得焦點時,第一個元素不會取得焦點。
- 聚焦於
TextField
時,不一定會開啟鍵盤,也可能導致焦點無法移至其他欄位。 - 如果在包含
LazyRows
的LazyColumn
中垂直捲動,則捲動效能不佳。