TV
Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 21 tháng 8 năm 2024 | 1.0.0 | - | - | - |
Khai báo phần phụ thuộc
Để thêm các phần phụ thuộc trên tv-foundation và tv-material, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun:
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") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Không có ghi chú phát hành cho cấu phần phần mềm này.
Tv-Material Phiên bản 1.0
Phiên bản 1.0.0
Ngày 21 tháng 8 năm 2024
Phát hành androidx.tv:tv-material:1.0.0
. Phiên bản 1.0.0 là bản phát hành ổn định đầu tiên của androidx.tv:tv-material
.
Phiên bản 1.0.0-rc02
Ngày 7 tháng 8 năm 2024
Phát hành androidx.tv:tv-material:1.0.0-rc02
. Phiên bản 1.0.0-rc02 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục ảnh động văn bản nhấp nháy trong thành phần kết hợp Surface. (3163319)
Phiên bản 1.0.0-rc01
Ngày 10 tháng 7 năm 2024
Phát hành androidx.tv:tv-material:1.0.0-rc01
. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.
Phiên bản 1.0.0-beta01
Ngày 1 tháng 5 năm 2024
Phát hành androidx.tv:tv-material:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Thay đổi về API
ColorScheme
và các hàm hiệu dụng của nó hiện đã ổn định. (If34fa)LocalContentColor
hiện đã ổn định (I60ee2)- API
Typography
hiện đã ổn định (I088d6) - Shapes API hiện đã ổn định (I0f5f4)
- Border API hiện đã ổn định (I69281)
- Glow API hiện đã ổn định (Iea5f1)
- Thành phần biểu tượng hiện đã ổn định (I62c2d)
- API
LocalTextStyles
hiện đã ổn định (Iaded8) - API
MaterialTheme
hiện đã ổn định (I2f541) - Thành phần văn bản hiện đã ổn định (Ib9e31)
- Thành phần
RadioButton
hiện đã ổn định (Ia03c8) - Thành phần chuyển đổi hiện đã ổn định (I6cea3)
- Các thành phần
Checkbox
hiện đã ổn định (I7eAAP) - Các thành phần trên nền tảng hiện đã ổn định (I58758, I04aca)
- Đổi tên
NonInteractiveSurfaceDefaults
thànhSurfaceDefaults
vàNonInteractiveSurfaceColors
thànhSurfaceColors
(I0812e) - Nền tảng có thể chọn hiện sử dụng thuật ngữ "chọn" thay vì "kiểm tra" vì cả hai đều có ý nghĩa ngữ nghĩa khác nhau (I5a206)
NavigationDrawer
vàNavigationDrawerScope
hiện đã ổn định (I249c1)- Thành phần
NavigationDrawerItem
hiện đã ổn định (Id6986) - Các thành phần Thẻ và
TabRow
hiện đã ổn định (I92d92) - Các thành phần
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
vàWideButton
hiện đã ổn định (Ib4de8) Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
và Các thành phầnWideCardContainer
hiện đã ổn định (I34390)- Đổi tên
StandardCardLayout
thànhStandardCardContainer
vàWideCardLayout
thànhWideCardContainer
(I08883) - Xoá
CardContainerDefaults.ImageCard
và đổi tênCardDefaults.ContainerGradient
thànhCardDefaults.ScrimBrush
(I6adfe). Bạn có thể sử dụngCard
thay choCardContainerDefaults.ImageCard
trong vùng chứa thẻ. ListItem
vàDenseListItem
hiện đã ổn định (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
vàListItemDefaults.SelectedContainerColorOpacity
hiện ở chế độ riêng tư (I5d533)- Sắp xếp lại các tham số và
ListItem
đổi tênListItemDefaults.ListItemElevation
thànhListItemDefaults.TonalElevation
(Id6841). Tham sốheadlineContent
đã được chuyển lên đầu thành phần kết hợp. Trước đó, bạn có thể sử dụng cú pháp lambda theo sau của Kotlin để truyềnheadlineContent
. Bây giờ, bạn sẽ phải sử dụng cú pháp tham số đã đặt tên để cung cấpheadlineContent
. LocalAbsoluteTonalElevation
hiện là nội bộ (Ibfc65)- Đã xoá thành phần
ImmersiveList
. Hãy xem mẫu này để tìm hiểu cách tự tạo ứng dụng. (Id48da) - Các thành phần tv-material hiển thị
MutableInteractionSource
trong API đã được cập nhật để hiện mộtMutableInteractionSource
rỗng mặc định có giá trị rỗng. Không có thay đổi nào về ngữ nghĩa ở đây: việc truyền giá trị rỗng có nghĩa là bạn không muốn chuyểnMutableInteractionSource
lên trên và mã này sẽ được tạo bên trong thành phần nếu cần. Việc thay đổi thành giá trị rỗng cho phép một số thành phần không bao giờ phân bổMutableInteractionSource
và cho phép các thành phần khác chỉ tạo từng phần một thực thể khi cần, giúp cải thiện hiệu suất trên các thành phần này. Nếu không sử dụngMutableInteractionSource
bạn truyền đến các thành phần này, bạn nên truyền giá trị rỗng. Bạn cũng nên thực hiện các thay đổi tương tự trong các thành phần của mình. (I309b4, b/298048146) - Tham số
TextAlign
của thành phần Văn bản truyền hình hiện không rỗng (Ib73b1, b/299490814) - Ra mắt một giá trị Không xác định đặc biệt cho các trường
TextAlign
,TextDirection
,Hyphens
vàLineBreak
củaParagraphTextStyle
để thay thế (I4197e, b/299490814)
Thay đổi về hành vi
- Giá trị mặc định của tham số
shape
choSurface
không tương tác đã được thay đổi thànhRectangleShape
(I1b859cb) - Một số tính năng băng chuyền đã bị loại bỏ trong bản phát hành beta do các API cần thiết đang trong giai đoạn thử nghiệm (I0e755d4)
- Việc thay đổi
contentColor
trongSurface
không còn tạo ảnh động giữa các trạng thái (I436e794f)
Phiên bản 1.0.0
Phiên bản 1.0.0-alpha11
Ngày 10 tháng 7 năm 2024
Phát hành androidx.tv:tv-foundation:1.0.0-alpha11
. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.
Thay đổi về API
- Chúng tôi đã ngừng sử dụng Bố cục lazy cho TV trong thư viện tv-foundation. Hãy tham khảo phiếu yêu cầu hỗ trợ này để tìm hiểu cách di chuyển khỏi bố cục lazy của TV. (I0855f, b/332674072)
PlatformImeOptions
hiện là một lớp cụ thể thay vì giao diện. (If40a4)
Phiên bản 1.0.0-alpha10
Ngày 4 tháng 10 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha10
và androidx.tv:tv-material:1.0.0-alpha10
. Phiên bản 1.0.0-alpha10 bao gồm các thay đổi sau.
Tính năng mới
- Ra mắt
NavigationDrawerItem
để sử dụng trongNavigationDrawer
vàModalNavigationDrawer
. (I4b491) - Thêm hồ sơ cơ sở vào thư viện tv-foundation. (2b57fd7)
- Thêm hồ sơ cơ sở vào thư viện tv-material. (1711ff5)
Thay đổi về API
- Đổi tên
NavigationDrawerScope.doesTabRowHaveFocus
thànhNavigationDrawerScope.hasFocus
. (I8286b) - Đổi tên
TabRowScope.isActivated
thànhTabRowScope.hasFocus
. (Ic4273)
Sửa lỗi
- Khắc phục khả năng tương thích của Băng chuyền với các mục liền kề sử dụng API trình khôi phục tiêu điểm. (7b2a7a4)
- Tắt chỉ báo ánh sáng cho API_LEVEL dưới 28 vì hệ điều hành không hỗ trợ chỉ báo này. (6d3616f)
- Khắc phục sự cố ANR do vị trí mục không đúng trong vùng chứa tải từng phần khi cuộn nhanh theo hướng ngược lại. (642d65c)
- Xoá khoảng đệm nền trong Ngăn điều hướng mô-đun. (69965b2)
- Sửa lỗi Scrim trong Ngăn điều hướng để vẽ phía trên nội dung nền thay vì phía sau. (d4bbefb)
Phiên bản 1.0.0-alpha09
Ngày 6 tháng 9 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha09
và androidx.tv:tv-material:1.0.0-alpha09
. Phiên bản 1.0.0-alpha09 bao gồm các thay đổi sau.
Các thay đổi về API
- Thêm giao diện
ReusableComposition
để quản lý vòng đời và sử dụng lại các lần kết hợp phụ. (I812d1, b/252846775) - Đồng bộ hoá nhánh phát triển tv-foundation với compose-foundation. (I737c3, b/287011882)
- Thêm hàm quá tải của
LazyLayout
, hàm này chấp nhận lambda củaLazyLayoutItemProvider
, chứ không phải đối tượng đơn giản như trước đây. Hàm quá tải trước đây không còn được dùng nữa. (I42a5a) - Thêm
TvKeyboardAlignment
để cho phép nhà phát triển định cấu hình vị trí bàn phím ảo thông quaAndroidImeOptions
. (Idb772) - Thêm
rememberCarouselState
để ghi nhớCarouselState
cóSaver
vào TV Material trong Compose. (Id7275) - Thay đổi tham số
scrimColor: Color
thành tham sốscrimBrush:Brush
để cho phép người dùng thêm các màu gradient vào tập lệnh. (I254d4)
Phiên bản 1.0.0-alpha08
Ngày 26 tháng 7 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha08
và androidx.tv:tv-material:1.0.0-alpha08
. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.
Tính năng mới
- Ra mắt các thành phần Khối cho Compose Material cho TV. (I86da4)
- Thêm thành phần
ListItem
cho Compose Material cho TV. (I3f0b3) - Thêm thành phần
DenseListItem
cho Compose Material cho TV. (I536bf)
Các thay đổi về API
- Đánh dấu các API TV-Material công khai là Thử nghiệm. (I632e7)
- Ra mắt
TabRowScope
để chia sẻ trạng thái từ thành phần kết hợpTabRow
với thành phần kết hợp Thẻ và thuộc tínhTabColors
. (Ief587)
Phiên bản 1.0.0-alpha07
Ngày 7 tháng 6 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha07
và androidx.tv:tv-material:1.0.0-alpha07
. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.
Các thay đổi về API
- Trong số chỉ báo tỷ lệ của các thành phần hiện đã có None (Không có) để vô hiệu hoá việc điều chỉnh theo tỷ lệ. (I50df5)
- Thêm tính năng hỗ trợ lượt nhấp kéo dài cho Bề mặt, Thẻ, và Nút của TV Material. (Id2b89)
CarouselItem
vàCarouselScope
đã bị xoá. Ảnh động nội dung nền trước có thể được sử dụng trong trang trình bày bằng cách sử dụngModifier.animateEnterExit
từAnimatedContentScope
. (Ic038e)- Hợp nhất tham số
color
vàcontentColor
trở thànhcolors
cho Bề mặt TV Material. (Ie69eb) - Ra mắt thành phần kết hợp
RadioButton
trong TV Material. (I08690) - Ra mắt thành phần kết hợp
Switch
trong TV Material. (I45e29) - Ra mắt thành phần kết hợp
Checkbox
trong TV Material. (I6a45a) - Ra mắt Bề mặt không tương tác trong TV Material. (Ic5f85)
- Điều chỉnh các chỉ báo thành nội bộ. (Ibff82)
Phiên bản 1.0.0-alpha06
Ngày 19 tháng 4 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha06
và androidx.tv:tv-material:1.0.0-alpha06
. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.
Tính năng mới
- Thêm phương thức triển khai Thẻ Material 3 được tối ưu hoá cho TV.
- Thêm phương thức triển khai Nút Material 3 được tối ưu hoá cho TV.
Các thay đổi về API
- Đổi tên
CarouselSlide
vàslideCount
trongCarousel
thànhCarouselItem
vàitemCount
. (Ie554c) - Đổi tên
forward
vàbackward
ContentTransforms
thànhStartToEnd
vàEndToStart
. (Ie554c)
Sửa lỗi
- Xử lý nút Quay lại trên Bàn phím định hướng khi lấy tiêu điểm
NavigationDrawer
. (d654f4)
Phiên bản 1.0.0-alpha05
Ngày 22 tháng 3 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha05
và androidx.tv:tv-material:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Các thay đổi về API
- Ra mắt thành phần kết hợp Ngăn điều hướng bên ở trong
tv-material
. Để tìm hiểu cách sử dụng thành phần kết hợp này, vui lòng tham khảo mẫu. (I12c08) - Ra mắt thành phần kết hợp Biểu tượng trong TV Material 3 (I72db9)
- Ra mắt thành phần kết hợp Bề mặt cho
tv-material
với các chỉ báo như Đường viền, Độ sáng và Tỷ lệ, có thể được sử dụng để xây dựng các thành phần làm nổi bật rõ ràng phần tử được lấy tiêu điểm trên màn hình TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Cập nhật
CarouselItem
thànhCarouselSlide
để phù hợp với tên tham sốslideCount
trong API "Băng chuyền" (Ic4299)
Phiên bản 1.0.0-alpha04
Ngày 8 tháng 2 năm 2023
Phát hành androidx.tv:tv-foundation:1.0.0-alpha04
và androidx.tv:tv-material:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Trong các hàng, cột và lưới tải từng phần, pivot sẽ bị ghi đè (nếu cần) để đảm bảo toàn bộ mục được đưa vào khung hiển thị. (11d7e40)
- Thêm chế độ tuỳ chỉnh màu thẻ ở các trạng thái khác nhau. (21b2925)
- Băng chuyền hiện chấp nhận ảnh động tuỳ chỉnh để cuộn tiến và lùi theo cách thủ công. (431494a)
Các thay đổi về API
- Đổi tên
androidx.tv.material
thànhandroidx.tv.material3
và làm phẳng cấu trúc gói trongandroidx.tv.material3
. (I6ca52) - Chỉ báo trong hàng Chỉ báo băng chuyền hiện là một vùng có thể được nhà phát triển tuỳ chỉnh. (268af2a)
- Đổi tên
focusableItem
thànhimmersiveListItem
. Người dùng sẽ phải thêm đối tượng sửa đổifocusable()
hoặcclickable()
theo cách thủ công cùng vớiimmersiveListItem
(5dd5078)(b/263061052) - Đổi tên
timeToDisplayMillis
thànhautoScrollDurationMillis
trong thành phần của Băng chuyền. (431494a) CarouselItem
đang bị hạn chế sử dụng trongCarousel
. (431494a)- Băng chuyền hiện chấp nhận
ContentTransforms
làm định nghĩa ảnh động thay vìEnterTransition
vàExitTransitions
. (431494a) - Giới thiệu API
PinnableContainer
được phân phát theo danh sách tải từng phần thông qua một thành phần cục bộ cho phép ghim mục hiện tại. (Ib8881, b/259274257, b/195049010) - Thêm thuộc tính
mainAxisItemSpacing
vàoTvLazyListLayoutInfo
vàTvLazyGridLayoutInfo
(I37765)
Sửa lỗi
- Cập nhật hàng thẻ nhằm đảm bảo hàng này xử lý chính xác số thẻ là 0 hoặc 1. (I44009), (1c01525), (b/264018028)
- Khắc phục sự cố tìm kiếm theo tâm điểm khi
TvLazyColumn
chứaTvLazyRow
rỗng. (e11b4fe), (b/260299091) - Đối tượng sửa đổi
clickable
hiện tương thích vớiImmersiveList
. (5dd5078), (b/263061052) - Phím Quay lại hiện được xử lý và dùng để thoát khỏi Băng chuyền nổi bật. (84c138c)
- Băng chuyền không làm mất tâm điểm trên nhiều lần nhấn phím nhanh. (799489f)
- Băng chuyền không làm mất tâm điểm trên lần nhấn giữ phím. (b2cf37e)
- Giải quyết các sự cố khi thay đổi số lượng trang trình bày trong băng chuyền. (b261247)
Phiên bản 1.0.0-alpha03
Ngày 7 tháng 12 năm 2022
Phát hành androidx.tv:tv-foundation:1.0.0-alpha03
và androidx.tv:tv-material:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
TabRow
hiện được cung cấp dưới dạng một API thử nghiệm cho phép người dùng thêm các thanh điều hướng trên cùng vào ứng dụng của họ. Nhìn chung, các thiết bị TV yêu cầu tải thẻ khi tiêu đề thẻ được lấy tiêu điểm trong hàng thẻ.- Chỉ báo cụ thể cho TV như chỉ báo gạch chân và chỉ báo hình bầu dục được cung cấp sẵn. Bạn có thể xem cách sử dụng mẫu trong tv-samples
Phiên bản 1.0.0-alpha02
Ngày 9 tháng 11 năm 2022
Phát hành androidx.tv:tv-foundation:1.0.0-alpha02
và androidx.tv:tv-material:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Sửa lỗi
- Cải thiện hiệu suất cuộn khi cuộn qua một tập hợp
TvLazyRows/TvLazyColumns
bằng cách giảm không gian tìm kiếm tâm điểm. (I723a3)
Phiên bản 1.0.0-alpha01
Ngày 5 tháng 10 năm 2022
Phát hành androidx.tv:tv-foundation:1.0.0-alpha01
và androidx.tv:tv-material:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
Phiên bản alpha đầu tiên bao gồm những phương thức triển khai xem trước sớm cho các thành phần trong trường hợp sử dụng của TV, bao gồm:
- Thêm đối tượng sửa đổi
scrollableWithPivot
để cho phép các vùng chứa cuộn không tải từng phần như Hàng, Cột, Lưới có vùng chứa cuộn cuộn nội dung sao cho các mục là tâm điểm ở cùng một vị trí trên màn hình TV. - Thêm các thành phần kết hợp
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
để vùng chứa cuộn di chuyển nội dung sao cho các mục là tâm điểm vẫn ở cùng một vị trí trên màn hình TV. - Thêm thành phần kết hợp Băng chuyền nổi bật (Featured Carousel) cho TV, cho phép người dùng tạo băng chuyền biểu ngữ cuộn tự động.
- Thêm thành phần kết hợp Danh sách sống động (Immersive List) cho TV, cho phép người dùng tạo Hàng/Cột/Lưới sống động để thay đổi nền dựa trên các mục trong danh sách là tâm điểm.
Vấn đề đã biết
- Khi vùng chứa cuộn trở thành tâm điểm, theo mặc định, phần tử đầu tiên thường không được làm tâm điểm.
- Tâm điểm tại
TextField
không phải lúc nào cũng mở bàn phím nhập hoặc có thể ngăn tâm điểm di chuyển đến các trường khác. - Thao tác cuộn theo chiều dọc kém hiệu quả trong
LazyColumn
chứaLazyRows
.