Compose Material 3
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 22 tháng 2 năm 2023 | 1.0.1 | - | - | 1.1.0-alpha07 |
Cấu trúc
Compose là sự kết hợp của 7 mã nhận dạng Nhóm Maven (Maven Group Id) trong androidx
. Mỗi Nhóm chứa một tập con chức năng mục tiêu và mỗi tập con có một tập hợp ghi chú phát hành riêng.
Bảng này giải thích các nhóm và đưa ra đường liên kết đến từng tập hợp ghi chú phát hành.
Nhóm | Mô tả |
---|---|
compose.animation | Tạo ảnh động trong các ứng dụng Jetpack Compose để làm phong phú trải nghiệm người dùng. |
compose.compiler | Biến đổi các hàm @Composable và hỗ trợ hoạt động tối ưu hoá bằng trình biên dịch bổ trợ Kotlin. |
compose.foundation | Viết ứng dụng Jetpack Compose bằng các khối dựng có sẵn, cũng như mở rộng nền tảng để xây dựng các thành phần của hệ thống thiết kế của riêng bạn. |
compose.material | Xây dựng các giao diện người dùng Jetpack Compose bằng các thành phần Material Design có sẵn. Đây là điểm truy cập cấp cao hơn của Compose, được thiết kế nhằm cung cấp các thành phần theo như mô tả trên trang web www.material.io. |
compose.material3 | Xây dựng giao diện người dùng Jetpack Compose bằng các thành phần Material Design 3, phiên bản cải tiến tiếp theo của Material Design. Material 3 có khả năng tuỳ chỉnh giao diện cập nhật, cũng như các thành phần và tính năng cá nhân hoá Material You, chẳng hạn như màu động. Công cụ này được thiết kế để phù hợp với phong cách đồ hoạ và giao diện người dùng hệ thống mới trên Android 12. |
compose.runtime | Các khối dựng cơ bản cho mô hình lập trình và tính năng quản lý trạng thái của Compose, đồng thời là thời gian chạy cốt lõi để trình biên dịch bổ trợ Compose nhắm đến. |
compose.ui | Các thành phần cơ bản của giao diện người dùng Compose cần thiết để tương tác với thiết bị, bao gồm cả bố cục, bản vẽ và phương thức nhập. |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên Compose, bạn phải thêm kho lưu trữ Maven của Google 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.compose.material3:material3:1.2.1" implementation "androidx.compose.material3:material3-window-size-class:1.2.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.2.1") implementation("androidx.compose.material3:material3-window-size-class:1.2.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Để 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.
Phiên bản 1.1
Phiên bản 1.1.0-alpha07
Ngày 22 tháng 2 năm 2023
Phát hành androidx.compose.material3:material3:1.1.0-alpha07
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
. Phiên bản 1.1.0-alpha07 bao gồm các thay đổi sau.
Tính năng mới
- Thêm thành phần kết hợp Time Input (Nhập thời gian) hoạt động với
rememberTimePickerState()
. Thành phần này sẽ tuân theo các thông số kỹ thuật của M3 đối với chế độ nhập thời gian (Ia4fab) - Thêm API
DateRangePicker
của Material 3 để chọn phạm vi ngày. (I7a6c3, b/267194809) - Hỗ trợ thêm chế độ nhập của Material 3 để chọn phạm vi ngày thông qua API
DateRangePicker
. (Ifdbc4) - Màu trường văn bản hiện cho phép tuỳ chỉnh:
- Màu trường nhập dữ liệu và văn bản giữ chỗ dựa trên trạng thái tiêu điểm cũng như trạng thái lỗi. Đổi tên tham số
textColor
thànhunfocusedTextColor
vàplaceholderColor
thànhunfocusedPlaceholderColor
. - Màu vùng chứa cho các trường văn bản đã điền dựa trên trạng thái lỗi với tham số
errorContainerColor
mới.
- Màu trường nhập dữ liệu và văn bản giữ chỗ dựa trên trạng thái tiêu điểm cũng như trạng thái lỗi. Đổi tên tham số
- Cập nhật màu trường văn bản hiển thị trên trình đơn thả xuống với các tham số để hỗ trợ API tiền tố và hậu tố mới. (I9c8b4, b/254284181, b/264766350)
Thay đổi về API
- Khôi phục một số phiên bản của Slider API (API Thanh trượt) và xoá các phương thức nạp chồng Thanh trượt dư thừa được áp dụng cho Thanh trượt thử nghiệm mới bằng thumb cũng như track tuỳ chỉnh. Chuyển
RangeSlider
thành phiên bản ổn định. (Ie8fbd) - Đổi tên
defaultElevation
thànhelevation
trong hàm độ cao của khối. (I0f872) - Các API trường văn bản sau đây của Material 3 không còn ở trạng thái thử nghiệm nữa:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
. (Ieb5c0, b/261561819) TimePickers
is24Hour
dùng chế độ cài đặt hệ thống (I18856)- Xoá chú giải thử nghiệm khỏi Scaffold API. (Ibb51e, b/261565765, b/261436953)
Sửa lỗi
- Hình dạng mặc định của
ModalBottomSheet
hiện luôn làSheetDefaults.ExpandedShape
. (I0dfca) - Cải thiện khả năng hỗ trợ tiếp cận cho
DatePicker
vàDateRangePicker
của Material 3. (I5087e) - Khắc phục lỗi khi giới hạn chiều cao tối đa được truyền tải và có thể gặp sự cố. (I30d8c)
- Xoá vai trò ngữ nghĩa khỏi các nền tảng có thể nhấp và chọn, những thành phần đã cập nhật (sử dụng các vai trò đó để đặt vai trò bằng modifier.semantics) (I793d9)
Phiên bản 1.1.0-alpha06
Ngày 8 tháng 2 năm 2023
Phát hành androidx.compose.material3:material3:1.1.0-alpha06
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
. Phiên bản 1.1.0-alpha06 bao gồm các thay đổi sau.
Tính năng mới
- Các trường văn bản hiện hỗ trợ văn bản tiền tố và hậu tố (Ia8578, b/179884561)
- Thêm hàm
TimePicker
để hiển thị bộ chọn giờ tuân theo thông số kỹ thuật của Material 3. Hàm này được dùng kết hợp vớiTimePickerState
và phương thứcrememberTimePickerState
tiện lợi (I71910) - Nhập ngày hiện là chế độ hiển thị tại
DatePicker
. Hỗ trợ thêm việc chuyển đổi giữa bộ chọn ngày và chế độ nhập ngày. (Ieeff7) - Thêm API cho
RichTextTooltips
. (I58ef3) - Triển khai bảng dưới cùng theo mô-đun cho Material 3, bao gồm
ModalBottomSheet
vàModalBottomSheetDefaults
. Đồng thời, ra mắtSheetState
vàrememberSheetState
có thể dùng cho các thành phần bảng sau này. (I0853a, b/244189383)
Các thay đổi về API
- Ổn định API
showSnackbar
(I195c2, b/261424370) - Ổn định các API cho khối hỗ trợ và khối đề xuất (Ibb67b, b/261424370)
- Chuyển API
ListItem
,ListItemDefaults
vàListItemColors
thành phiên bản không thử nghiệm (I7e7fa, b/261438882) - Chuyển
SliderPositions
,SliderDefaults.Thumb
vàSliderDefaults.Track
thành phiên bản ổn định, thêm các APISlider
vàRangeSlider
phiên bản không thử nghiệm có chứa hình thu nhỏ cũng như kênh tuỳ chỉnh. Đồng thời, ngừng sử dụng các APISlider
vàRangeSlider
trước đây. (Ie5ea6, b/261566890) - Đặt
Modifier.tooltipAnchor()
ở chế độ công khai để các nhà phát triển có thể truyền nó vào điểm neo nhằm cho biết chú giải công cụ sẽ hiển thị khi nhấn và giữ. Cập nhật APIPlainTooltipBox
đểTooltipState
không còn rỗng nữa và hiện có giá trị mặc định. (Ie2fb7) - Đánh dấu
ProgressIndicatorDefaults.circularTrackColor
là@Composable
để đảm bảo tính nhất quán. (Id29cc) - Khôi phục phương thức getter
LocalMinimuTouchTargetEnforcement
của thuộc tính, đồng thời đánh dấu phương thức này là không dùng nữa và chuyển hướng đếnLocalMinimumInteractiveComponentEnforcement
. (I60dd5)
Phiên bản 1.1.0-alpha05
Ngày 26 tháng 1 năm 2023
Phát hành androidx.compose.material3:material3:1.1.0-alpha05
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
DatePickerDialog
và hỗ trợ tiếp cận- Đã thêm thumb và track tuỳ chỉnh vào
RangeSlider
.
Phiên bản 1.1.0-alpha04
Ngày 11 tháng 1 năm 2023
Phát hành androidx.compose.material3:material3:1.1.0-alpha04
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- API
DatePicker
ban đầu để chọn một ngày qua giao diện người dùng của lịch. API này vẫn đang trong quá trình thay đổi. (I722b9) - Hỗ trợ thêm các chú giải công cụ đơn giản thông qua
PlainTooltipBox
. (I0cdfb) - Thanh tìm kiếm (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Các thay đổi về API
- Thêm thuộc tính ngữ nghĩa
IsContainer
trên Nền tảng. Thuộc tính này sẽ được dùng cho một thay đổi trong tương lai để xác định thứ tự truyền tải dựa trên ý nghĩa ngữ nghĩa của các phần tử, chẳng hạn như nền tảng. (I63379) - Đánh dấu các API liên quan đến ngăn điều hướng là ổn định. (Iab01e, b/261439597)
- Thêm tham số màu theo dõi cho các chỉ báo tiến trình vòng tròn và tham số giới hạn nét cho cả chỉ báo tiến trình vòng tròn và tuyến tính. (Ie668c, b/216325962, b/222964817)
- Thêm tính chất rỗng của kiểu dữ liệu trả về của các hàm ẩn không dùng nữa (Ibf7b0)
- Thêm
Modifier.minimumInteractiveComponentSize
. Bạn có thể sử dụng thuộc tính này để đặt trước kích thước tối thiểu là 48 dp để phân biệt các lượt tương tác chạm nếu phần tử này có kích thước nhỏ hơn. (I33f58, b/258495559) - Thêm API thử nghiệm cho thành phần kết hợp
AlertDialog
có vùng nội dung. (Iec4a2)
Sửa lỗi
- Tiến trình cho các chỉ báo tiến trình hiện được giới hạn đúng với phạm vi dự kiến. (I8a7eb, b/262262727)
Vấn đề đã biết
- Khi cập nhật từ
androidx.compose.foundation:1.4.0-alpha03
lênandroidx.compose.foundation:1.4.0-alpha04
, bạn có thể gặp lỗijava.lang.NoSuchFieldError
. Đây là nơi vấn đề được báo cáo ban đầu. Chúng tôi đã gửi một bản sửa lỗi và bản sửa lỗi này sẽ có trong bản cập nhật Compose tiếp theo. Để giải quyết tạm thời vấn đề này, hãy cập nhật thư việnandroidx.compose.material
vàandroidx.compose.material3
lên phiên bản mới nhất (1.1.0-alpha04) hoặc hạ cấpandroidx.compose.foundation
xuống 1.4.0-alpha03.
Phiên bản 1.1.0-alpha03
Ngày 7 tháng 12 năm 2022
Phát hành androidx.compose.material3:material3:1.1.0-alpha03
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.
Các thay đổi về API
- Đổi tên
consumedWindowInsets()
thànhconsumeWindowInsets()
vàwithConsumedWindowInsets()
thànhonConsumedWindowInsetsChanged()
rồi đặt Đối tượng sửa đổi ở chế độ công khai. (Ie44e1) - Thêm khoảng đệm nội dung mặc định mới cho nút văn bản với biểu tượng sẽ sử dụng. (I8f662)
- Thêm màu bị vô hiệu hoá cho thanh điều hướng và dải điều hướng. (Ia7892, b/258867034)
- Thêm Modifier API để truy vấn thông tin cuộn của đối tượng cấp trên. (I2ba9d, b/203141462)
- Dùng trong
Clickable
để trì hoãn đúng cách thao tác tương tác nhấn, khi các cử chỉ có thể trở thành sự kiện cuộn. - Sửa lỗi khiến
Clickables
không trì hoãn đúng cách các hiệu ứng gợn sóng khi được dùng bên trong mộtScrollable ViewGroup
. - Cập nhật các Ngăn và Trang tính để trì hoãn đúng cách thao tác nhấn trong trường hợp các cử chỉ có thể trở thành sự kiện cuộn.
Thông tin cập nhật về phần phụ thuộc
Compose UI
vàCompose Material
hiện phụ thuộc vào Lifecycle 2.5.1. (I05ab0, b/258038814)
Phiên bản 1.1.0-alpha02
Ngày 9 tháng 11 năm 2022
Phát hành androidx.compose.material3:material3:1.1.0-alpha02
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.
Các thay đổi về API
awaitFirstDown
vàwaitForUpOrCancellation
hiện chấp nhậnPointerEventPass
để linh hoạt hơn (cũng như khắc phụcExposedDropdownMenuBox
hiển thị một trình đơn trong khi cuộn).(I7579a, b/212091796)- Thêm tham số
minLines
vào Text (Văn bản) material và material3,TextField
vàOutlinedTextField
giúp đặt chiều cao tối thiểu của thành phần theo số lượng dòng (I4af1d) - Ngừng sử dụng hàm
TopAppBarDefaults smallTopAppBarColors
và thay bằng một hàmtopAppBarColors
mới mà bạn nên sử dụng khi tạoTopAppBar
. (Ie6cb9) - Thêm tham số
minLines
vàoBasicText
vàBasicTextField
. Nhờ đó có thể đặt chiều cao tối thiểu của các thành phần kết hợp (composable) này theo số dòng (I24294, b/122476634)
Sửa lỗi
- Cắt nội dung của Material3
IconButton
vàIconToggleBotton
vào hình dạng theo lớp trạng thái của thành phần (ví dụ: hình tròn). (I9da8f) - Cập nhật các thanh ứng dụng trên cùng trung bình và lớn của Material3 để áp dụng cùng một màu nền trên toàn bộ nền tảng, đồng thời cho phép cài đặt ghi đè màu mặc định bằng các giá trị màu trong suốt. (I67659, b/249688556, b/250838918)
Phiên bản 1.1.0-alpha01
Ngày 24 tháng 10 năm 2022
Phát hành androidx.compose.material3:material3:1.1.0-alpha01
và androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.
Sửa lỗi
- Sửa lỗi thanh ứng dụng trên cùng khi áp dụng tiêu đề bằng TextStyle và Brush (Bút vẽ). (If667e)
Phiên bản 1.0
Phiên bản 1.0.1
Ngày 9 tháng 11 năm 2022
Phát hành androidx.compose.material3:material3:1.0.1
và androidx.compose.material3:material3-window-size-class:1.0.1
. Phiên bản 1.0.1 bao gồm các thay đổi sau.
Sửa lỗi
- Cập nhật các thanh ứng dụng trên cùng trung bình và lớn của Material3 để áp dụng cùng một màu nền trên toàn bộ nền tảng, đồng thời cho phép cài đặt ghi đè màu mặc định bằng các giá trị màu trong suốt. (I67659, b/249688556, b/250838918)
Phiên bản 1.0.0
Ngày 24 tháng 10 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0
và androidx.compose.material3:material3-window-size-class:1.0.0
. Phiên bản 1.0.0 bao gồm các thay đổi sau.
Các tính năng chính của phiên bản 1.0.0
Đây là bản phát hành ổn định đầu tiên của Compose Material 3!
Tuỳ chỉnh giao diện Material Design 3 và màu động Material You
Thành phần Material Design 3
- Huy hiệu
- Thanh ứng dụng ở dưới cùng
- Nút
- FAB và FAB mở rộng
- Thẻ
- Hộp đánh dấu
- Khối
- Hộp thoại
- Đường phân chia
- Trình đơn thả xuống
- Danh sách
- Thanh điều hướng
- Ngăn điều hướng
- Dải điều hướng
- Chỉ báo tiến trình
- Nút chọn
- Thanh trượt
- Công tắc
- Thẻ
- Trường văn bản
- Thanh ứng dụng trên cùng
- Biểu tượng
- Văn bản
- Nền tảng
- Bố cục
- Màu nội dung
Lớp kích thước cửa sổ
material3-window-size-class
là một thư viện mới hỗ trợ các lớp kích thước cửa sổ: một tập hợp các điểm ngắt khung nhìn có quy cách bắt buộc để bạn thiết kế, phát triển và kiểm thử các bố cục ứng dụng có thể đổi kích thước. Bạn có thể sử dụngcalculateWindowSizeClass
để truy xuất phiên bản lớp kích thước cửa sổ. Bạn có thể sử dụng thực thể này để xác định cách giao diện người dùng sẽ xuất hiện, chẳng hạn như hiển thị dải điều hướng thay vì phần điều hướng dưới cùng đối với kích thước cửa sổ lớn hơn. Để biết thêm thông tin và cách dùng mẫu, hãy xem tài liệu tham khảo API choWindowSizeClass
.Vui lòng xem bài đăng trên blog này để biết thêm chi tiết!
Phiên bản 1.0.0-rc01
Ngày 5 tháng 10 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-rc01
và androidx.compose.material3:material3-window-size-class:1.0.0-rc01
. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.
Các thay đổi về API
- Thêm tham số khe để hỗ trợ API trường văn bản (Iaac0d, b/227146125)
Phiên bản 1.0.0-beta03
Ngày 21 tháng 9 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-beta03
và androidx.compose.material3:material3-window-size-class:1.0.0-beta03
. Phiên bản 1.0.0-beta03 bao gồm các thay đổi sau.
Các thay đổi về API
ExposedDropdownMenuDefaults
nay cho thấy giá trị đệm cho các mục trong trình đơn. (I34ee1)ExposedDropdownMenuBoxScope
nay có một đối tượng sửa đổiModifier.menuAnchor()
sẽ được truyền vào trường văn bản để a11y hoạt động đúng cách. (I27fa3)- Thêm 2 phương thức nạp chồng cho Slider API (API Thanh trượt) hiện tại để cho phép người dùng truyền lệnh thumb hoặc theo dõi để điền sẵn thanh trượt. (I21c00)
Sửa lỗi
- Cập nhật bản đồ màu giao diện tối cho Vùng chứa lỗi (On Error Container) thành tông màu 90 (Ic5612)
- Sửa lỗi để cho phép đặt nền trong suốt cho các thanh ứng dụng nhỏ ở trên cùng của Material 3. (I645e2, b/245575782)
Phiên bản 1.0.0-beta02
Ngày 7 tháng 9 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-beta02
và androidx.compose.material3:material3-window-size-class:1.0.0-beta02
. Phiên bản 1.0.0-beta02 bao gồm các thay đổi sau.
Các thay đổi về API
- Các phần lồng ghép thành phần mặc định được đưa vào các thành phần m3 trong phiên bản beta01 không còn dựa trên các phần lồng ghép IME.
- Thành phần Scaffold Material3 nay có tham số
contentWindowInsets
, cho phép chỉ định số lượng phần lồng ghép cần xử lý cho vị trí nội dung. (Icf11a, b/243713323) - Ngừng sử dụng hàm
SmallTopAppBar
thử nghiệm của Material 3 và ra mắt một hàmTopAppBar
tương đương. Vui lòng chuyển sang sử dụng hàm mới của bạn. (I74404, b/226918634) - Thêm quyền kiểm soát đối với hành vi hất và chụp nhanh trên thanh ứng dụng trên cùng. (I15c81)
- Xoá startIndent khỏi Divider, di chuyển màu sang tham số cuối cùng. (If7be2)
Sửa lỗi
- Hộp thoại tự nhận dạng đối với người dùng TalkBack bằng cách thông báo chữ Hộp thoại (Dialog) khi xuất hiện. (I857ef)
Phiên bản 1.0.0-beta01
Ngày 24 tháng 8 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-beta01
và androidx.compose.material3:material3-window-size-class:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Tài liệu tham khảo API
Để xem khả năng tuỳ chỉnh giao diện, thành phần và các thành phần kết hợp khác mới nhất hiện có, hãy xem phần Tổng quan về tài liệu tham khảo API Compose Material 3.
Các thay đổi về API
- Cập nhật thanh ứng dụng trên cùng của Material 3 để chuyển ngay sang trạng thái thu gọn hoàn toàn đến mở rộng hoàn toàn. Cập nhật cả hàm hành vi
TopAppBarDefaults
thành Thành phần kết hợp, đồng thời cung cấp giá trị mặc định cho trạng thái thanh ứng dụng trên cùng và thông số ảnh động. (I642b3) - Cập nhật chữ ký thành phần FAB để khớp với Surface API (I3afaa)
- Thêm tuỳ chọn hỗ trợ có sẵn cho phần lồng ghép trong thanh ứng dụng, ngăn, thanh điều hướng và dải điều hướng trên cùng. Khi được dùng riêng lẻ hoặc cùng với Scaffold, những thành phần này sẽ tự động xử lý các phần lồng ghép cho nhà phát triển. Lưu ý: Sự thay đổi này không tự động thêm cách xử lý biểu tượng thanh trạng thái cũng như độ trong suốt của thanh trạng thái và thanh điều hướng. Vui lòng tiếp tục làm theo cách thủ công để đảm bảo trải nghiệm tràn viền tốt nhất. (I7e4e6, b/183161866)
- Cập nhật thành phần mặc định để giảm khu vực API nhằm cải thiện tính linh hoạt và hiệu suất trong tương lai. (I31820)
- Sắp xếp lại các tham số bảng tính trong ngăn điều hướng và khối để duy trì tính nhất quán trong API (I45d0b)
- Xoá
startIndent
khỏi Đường phân chia và chuyển màu sắc thành thông số cuối cùng.(If7be2)
Phiên bản 1.0.0-alpha16
Ngày 10 tháng 8 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha16
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
. Phiên bản 1.0.0-alpha16 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ xác định chiều rộng tuỳ chỉnh trên ngăn điều hướng. (Ia7f10)
Các thay đổi về API
- Sắp xếp lại các tham số Tab và LeadingIconTab để duy trì tính nhất quán trong API (Ie2637)
- Đánh dấu
BadgeDefaults
là thử nghiệm. (I98ef3) - Xoá hàm của ngăn điều hướng đã ngừng hoạt động. (I4f2db)
- Sắp xếp lại các tham số Thanh trượt trong Material 3 để duy trì tính nhất quán trong API (I0aee7)
- Sắp xếp lại các tham số
NavigationBar
vàNavigationRail
để duy trì tính nhất quán trong API (I51cda) - Sắp xếp lại các tham số trong Material 3 để duy trì tính nhất quán trên toàn bộ API. (If4ae1)
- Sắp xếp lại các tham số Thanh trượt trong Material 3 để duy trì tính nhất quán trong API (I62673)
- Đổi tên tham số biểu tượng thành các hành động để nhất quán với thanh ứng dụng trên cùng (Id75be)
- Đánh dấu
Badge
vàBadgedBox
là thử nghiệm vì hoạt động căn chỉnh liên kết vẫn còn nhiều. (I1712e, b/236524516) - Thay đổi chú giải
@ExperimentalMaterial3Api
trên các biến thể của nút biểu tượng thành@OptIn
(I070b5) - Tách nội dung của ngăn điều hướng thành thành phần kết hợp riêng để hỗ trợ việc chỉ định chiều rộng tuỳ chỉnh trên nội dung đó. (Ia7f10)
- Xoá
Divider
khỏiMenuDefaults
vàTabDefaults
(I4e33c)
Phiên bản 1.0.0-alpha15
Ngày 27 tháng 7 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha15
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
. Phiên bản 1.0.0-alpha15 bao gồm các thay đổi sau.
Tính năng mới
- Cho phép kéo thanh ứng dụng trên cùng từ chính thanh đó. (I65c00, b/205873416)
Các thay đổi về API
- Cập nhật các API
FilterChip
vàElevatedFilterChip
để xoá vùngselectedIcon
và tăng cường sử dụng lạileadingIcon
để hiển thị trạng thái đã chọn. (Ie5dc2) - Thêm các vai trò màu của biến thể nền và đường viền. (Id6d54)
- Sửa quy ước đặt tên cho các giá trị mặc định của thành phần kết hợp. (I62b27)
- Đánh dấu
ListItemDefaults
vàListItemColors
là thử nghiệm. (I1f3ec) - Thay đổi API thanh ứng dụng trên cùng để phản ánh tốt hơn ý nghĩa của các thuộc tính trạng thái. Ngoài ra còn đánh dấu API thanh ứng dụng trên cùng là thử nghiệm. (Ic0ad8)
- Chúng tôi hiện đã thêm màu lựa chọn văn bản vào
TextFieldColors
để tăng khả năng người dùng tìm thấy ứng dụng. (Iba1b8) - Thêm
ButtonDefault.ButtonWithIconContentPadding
để sử dụng với các nút chứa biểu tượng. (I2bf9c) - Các trường văn bản được đánh dấu là thử nghiệm để tăng khả năng linh hoạt khi thay đổi API trong tương lai. (I127b5)
- Xoá chú thích
@ExperimentalMaterial3Api
khỏi hàmCheckbox
. (I5eefc) - Xoá chú thích
@ExperimentalMaterial3Api
khỏi hàmRadioButton
. (I17e2a) - Xoá chú thích
@ExperimentalMaterial3Api
khỏi các Thẻ không tương tác. (I9bd49) - Cập nhật các đối tượng mặc định cho nhiều thành phần để thêm màu sắc, hình dạng, v.v. (I96e11)
Sửa lỗi
- Xoá các biểu tượng tạo vệt không hoạt động khỏi các mẫu chip đầu vào để tránh gây nhầm lẫn cho người dùng trong ứng dụng danh mục. (I9846a)
Phiên bản 1.0.0-alpha14
Ngày 29 tháng 6 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha14
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
. Phiên bản 1.0.0-alpha14 bao gồm các thay đổi sau.
Tính năng mới
- Thêm cách triển khai danh sách M3, hãy xem tài liệu về cách sử dụng mẫu (Id7a20)
Các thay đổi về API
- Thay đổi tên tham số từ các giá trị thành giá trị trong
RangeSlider
(I3b79a) - API thay đổi thành cách triển khai
InputChip
để hỗ trợ trạng thái có thể chọn theo quy cách của Material Design. Hỗ trợ thêm tại màuFilterChip
đối với trạng thái bị vô hiệu hoá đã chọn. (I55244, b/235792432) - Thêm FAB mặc định
BottomAppBar
(Ida4c8) - Đã thêm
ColorScheme.surfaceColorAtElevation
(Id41af) - Các giao diện trong thư viện Compose hiện được xây dựng bằng phương thức giao diện mặc định jdk8 (I5bcf1)
WindowWidthSizeClass
vàWindowHeightSizeClass
hiện triển khai Thẻ so sánh, vì vậy, bạn có thể so sánh các thẻ này thông qua toán tử (<, <=, >=, >) và các API khác. (I747d0)
Sửa lỗi
- Cập nhật mẫu huy hiệu để cung cấp nội dung mô tả nội dung có ý nghĩa hơn. (I10b9d)
- Thêm tuỳ chọn sử dụng kích thước phông chữ hệ thống vào bộ chọn giao diện của danh mục Material 3. (I10605)
- Thêm mã mẫu cho Huy hiệu (Badge) và chỉ báo tiến trình không xác định. (I8fbe0)
Phiên bản 1.0.0-alpha13
Ngày 1 tháng 6 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha13
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
. Phiên bản 1.0.0-alpha13 bao gồm các thay đổi sau.
Các thay đổi về API
- Hỗ trợ duy trì vị trí thanh ứng dụng trên cùng trong quá trình thay đổi cấu hình. (I10459, b/216160958)
Phiên bản 1.0.0-alpha12
Ngày 18 tháng 5 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha12
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.
Sửa lỗi
- Thanh trượt mẹ hiện có thể có chiều rộng bằng 0. (b/231707291)
Phiên bản 1.0.0-alpha11
Ngày 11 tháng 5 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha11
và androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.
Tính năng mới
- Thêm
RangeSlider
vào Material 3 (I18e38) - Thêm tuỳ chọn hỗ trợ Material3
AssistChip
vàInputChip
(I0d25a) - Thêm tuỳ chọn hỗ trợ Material3
FilterChip
vàSuggestionChip
(I9fdf3)
Các thay đổi về API
- Đã đổi tên thành phần kết hợp
TextFieldDefaults.BorderStroke
để vẽ một nét đường viền trongOutlinedTextField
thànhTextFieldDefaults.BorderBox
. (I5f295) - Chuyển sang chế độ thay đổi hình ảnh trong m3 (Iab30e)
- Cho phép chuyển màu cho các nút biểu tượng tiêu chuẩn. (Ia2445)
Sửa lỗi
- Thêm tính năng kiểm tra lint vào material3/Scaffold để đảm bảo khoảng đệm bên trong được sử dụng (I72293, b/226951418)
Phiên bản 1.0.0-alpha10
Ngày 20 tháng 4 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha10
và androidx.compose.material3:material3-window-size-class: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
material3-window-size-class
là một thư viện mới hỗ trợ các lớp kích thước cửa sổ: một tập hợp các điểm ngắt khung nhìn có quy cách bắt buộc để bạn thiết kế, phát triển và kiểm thử các bố cục ứng dụng có thể đổi kích thước. Bạn có thể sử dụngcalculateWindowSizeClass
để truy xuất phiên bản lớp kích thước cửa sổ. Bạn có thể sử dụng thực thể này để xác định cách giao diện người dùng sẽ xuất hiện, chẳng hạn như hiển thị dải điều hướng thay vì phần điều hướng dưới cùng đối với kích thước cửa sổ lớn hơn. Để biết thêm thông tin và cách dùng mẫu, hãy xem tài liệu tham khảo API choWindowSizeClass
. Để biết thêm thông tin về định nghĩa lớp kích thước cửa sổ, hãy xem hướng dẫn công khai về việc hỗ trợ nhiều loại kích thước màn hình.
Các thay đổi về API
- Thêm độ cao FAB mặc định cho
BottomAppBar
, xoá hàm lambda ở cuối khỏiBottomAppBar
bằng FAB. (I92c47) - Thêm Material3
FilledIconButton
,FilledTonalIconButton
vàOutlinedIconButton
. (Ib2bda) - Cập nhật Snackbar API (API Thanh thông báo nhanh) của Material 3 để chấp nhận các giá trị màu cho thao tác không bắt buộc và thao tác đóng. (Ibe4b4)
- Mức sử dụng một phần (giảm/không có vị trí) trong
PointerInputChange
sẽ không được dùng nữa. Bạn có thể dùngconsume()
để thay đổi hoàn toàn. Bạn có thể sử dụngisConsumed
để xác định xem ai đó đã từng thực hiện thay đổi trước đây hay chưa. - Giờ đây,
PointerInputChange::copy()
luôn tạo một bản sao nông. Điều này có nghĩa là các bản sao củaPointerInputChange
sẽ được sử dụng sau khi một trong các bản sao được sử dụng. Nếu bạn muốn tạo mộtPointerInputChange
không liên kết, hãy dùng hàm khởi tạo. (Ie6be4, b/225669674) - Các thay đổi đối với Cards API (API Thẻ) để nhận màu vùng chứa và nội dung qua giao diện
CardColors
, đồng thời hỗ trợ trạng thái bị vô hiệu hoá cho các thẻ có thể nhấp. (I927df) - Tham số
backgroundColor
được đổi tên thànhcontainerColor
trong các trường văn bản Material 3 để cải thiện tính nhất quán với các thành phần khác. (I6fbd9)
Sửa lỗi
- Cập nhật lên tiêu chuẩn
IconButton
để điều chỉnh cho phù hợp với quy cách của Material3. (I09eab) - Di chuyển chiều cao thanh trên cùng của Material3 Scaffold vào khoảng đệm được chuyển đến nội dung, cho phép nội dung hiển thị bên dưới thanh ứng dụng trên cùng. Nếu bạn bỏ qua
PaddingValues
, thì nội dung có thể bị che khuất bằng thanh trên cùng. (I83cbc, b/217776202)
Phiên bản 1.0.0-alpha09
Ngày 6 tháng 4 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha09
. Phiên bản 1.0.0-alpha09 bao gồm các thay đổi sau.
Tính năng mới
- Thêm API Chuyển đổi Material 3 (I2c3ad)
Các thay đổi về API
- Thêm tính năng hỗ trợ các trình đơn thả xuống có trường văn bản (còn gọi là "trình đơn thả xuống hiển thị" hoặc "hộp kết hợp"). (I1b832)
- Thêm thông số hình dạng vào hệ thống phụ MaterialMaterial và Shape. (I37426)
- Đã thêm một tham số mở rộng vào
ExtendedFloatingActionButton
để kiểm soát việc FAB được mở rộng hay thu gọn, với ảnh động giữa mỗi trạng thái. Thêm trường hợp quá tải FAB mở rộng cho FAB mở rộng có văn bản đứng sau cho ExtendedFAB mà không có biểu tượng. (Iba7f1)
Phiên bản 1.0.0-alpha08
Ngày 23 tháng 3 năm 2022
Phát hành androidx.compose.material3:material3: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
- Thêm tính năng hỗ trợ các trường văn bản Material 3. (I795cc, b/199377790)
Các thay đổi về API
- Thêm dấu phân chia mặc định cho trình đơn (I01374)
- Thêm tham số màu
surfaceTint
vào lớpColorScheme
. (I2f558)
Sửa lỗi
- Sửa lỗi tại Nút của Material3 để đọc giá trị kiểu văn bản mặc định của nút đó qua MaterialTheme. (Ie62fc)
Phiên bản 1.0.0-alpha07
Ngày 9 tháng 3 năm 2022
Phát hành androidx.compose.material3:material3: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
- Cập nhật Material 3 Surface API nhằm hiển thị các hàm nạp chồng cho những Khu vực (Surface) có thể nhấp, cũng như thêm một hàm để hỗ trợ các khu vực có thể chọn và bật tắt. (I4bf18)
LazyVerticalGrid
vàLazyHorizontalGrid
hiện đang ổn định. (I307c0)LazyVerticalGrid/LazyHorizontalGrid
và tất cả API có liên quan đã được di chuyển vào gói con .grid. Vui lòng cập nhật các mục nhập của bạn từ androidx.compose.foundation.lazy thành androidx.compose.foundation.lazy.grid. (I2d446)- Huỷ thay đổi trước đó (chỉ dựa vào Thành phần hiển thị cho
WindowInsetsControllerCompat
) và một lần nữa, bạn cần phải sử dụng Cửa sổ để quản lý một số cờ trong cửa sổ. Ngừng sử dụngViewCompat.getWindowInsetsController
và thay vào đó làWindowCompat.getInsetsController
để đảm bảo sử dụng đúng Cửa sổ (chẳng hạn như khi Chế độ xem nằm trong hộp thoại). (I660ae, b/219572936) - Thêm API
LazyVerticalGrid
mới để xác định kích thước trục chéo (I17723)
Sửa lỗi
- Cập nhật Card API (API Thẻ) để tuân theo các thay đổi tại Surface API (API Khu vực) (I3c8b9)
Phiên bản 1.0.0-alpha06
Ngày 23 tháng 2 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha06
. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.
Các thay đổi về API
NavigationDrawerItem
được thêm vào đại diện cho một điểm đến duy nhất trong các ngăn (Ic396f, b/218286829)- Thêm
PermanentNavigationDrawer
vàDismissibleNavigationDrawer
làm API thử nghiệm. Đó là các ngăn phù hợp với thiết bị có màn hình lớn. (I5f8ab, b/218286829) - Thêm tính năng hỗ trợ thanh ứng dụng dưới cùng của Material 3 (Ic432a)
NavigationDrawer
được đổi tên thànhModalNavigationDrawer
(I1807d, b/218286829)- Thêm lớp Slider (thanh trượt) và mã thông báo Material 3 (I1ccee)
- Thêm quy trình triển khai lớp Tab, hãy xem tài liệu để sử dụng mẫu (Ie0146)
Sửa lỗi
- Khắc phục sự cố khiến quá trình điều hướng tuyến tính của trình đọc màn hình
TalkBack
chọn tiêu đề thanh ứng dụng trên cùng trống. (Id4690) - Thêm
IconSize
vàoFloatingActionButtonDefaults
(Ia71cf) - Sửa lỗi cho các nút
AlertDialog
bị ẩn khi một văn bản dài được thêm vào bằngLazyColumn
. (Ib2cc9, b/216663029)
Phiên bản 1.0.0-alpha05
Ngày 9 tháng 2 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
Thêm thành phần Material Design 3
- Trình đơn thả xuống
- Thẻ
Các thay đổi về API
- Hàm
Surface
không còn hoạt động mà sẽ thực hiện lệnh gọi lại onClick. Bạn nên tạo các nền tảng có thể nhấp bằngInteractionSource
vàModifier.clickable()
. (I211c6) - Thêm tính năng hỗ trợ chiều cao của FAB khi nhấn và lấy tiêu điểm. (Ibb584)
- Thay đổi API
Surface
để nhận một InteractionSource cho phép kiểm soát giao diện của mục đó ở các trạng thái khác nhau. (Iafbc8)
Sửa lỗi
- Thêm màu trung gian bị thiếu trong bảng phối màu động (I456c4, b/214588434)
Phiên bản 1.0.0-alpha04
Ngày 26 tháng 1 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Các thay đổi về API
- Thêm
NonRestartableComposable
vào các phương thức đang làm quá tải những phương thức hiện có mà không cần logic phức tạp. Điều này giảm bớt các bước kiểm tra ghi nhớ do trình biên dịch tạo ra (các bước cân bằng) cho mọi tham số lặp lại ở hàm bên trong được gọi. (I90490) - Thêm bộ chia Material 3. (Ica5fc)
- Đánh dấu Checkbox và RadioButton bằng chú thích API thử nghiệm. (Ie44bb)
- Thêm tính năng hỗ trợ các chỉ báo tiến trình của Material 3. (Iff232, b/205023841)
Sửa lỗi
- Cập nhật màu vùng chứa
TextButton's
đã bị tắt thành màu trong suốt (I6b248, b/213339737)
Phiên bản 1.0.0-alpha03
Ngày 12 tháng 1 năm 2022
Phát hành androidx.compose.material3:material3:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Sửa lỗi
- Thêm
LocalIndication
vàoMaterialTheme
của Material 3. (I7ce4e) - Chỉnh sửa bán kính góc áp dụng cho các Hộp đánh dấu (I38b03, b/175198975, b/202309440)
Thông tin cập nhật về phần phụ thuộc
- Nay phụ thuộc vào Kotlin
1.6.10
.
Phiên bản 1.0.0-alpha02
Ngày 1 tháng 12 năm 2021
Phát hành androidx.compose.material3:material3:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm những thay đổi sau.
Tính năng mới
- Thêm tính năng hỗ trợ cho hộp đánh dấu và nút chọn.
- Cập nhật để tương thích với Kotlin
1.6.0
Các thay đổi về API
- Xoá ngăn khỏi thành phần Scaffold của Material 3. (I04f51)
- Thêm tính năng hỗ trợ
Checkbox
của Material 3. (Id5542) - Thêm tính năng hỗ trợ
RadioButton
của Material 3. (I20334)
Sửa lỗi
- Giảm
IconButton
bán kính gợn sóng từ 40dp xuống 20 dp. (I68bbe, b/206674345) - Thay đổi đường dẫn nhanh của chuỗi cổng đối với
Text
, không còn làcompose.material
(I30b03) - Khắc phục tình trạng nút được mã hoá cứng luôn bật. (Iea832, b/205335456)
Phiên bản 1.0.0-alpha01
Ngày 27 tháng 10 năm 2021
Phát hành androidx.compose.material3:material3: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
Tuỳ chỉnh giao diện Material Design 3 và màu động Material You
Thành phần Material Design 3
- Nút
- FAB và FAB mở rộng
- Hộp thoại
- Thanh điều hướng
- Ngăn điều hướng
- Dải điều hướng
- Thanh ứng dụng hàng đầu
- Huy hiệu
- Biểu tượng
- Văn bản
- Nền tảng
- Bố cục
- Màu nội dung
Để biết thêm thông tin, hãy xem phần Material Design 3 và Material You trong phần hướng dẫn Tuỳ chỉnh giao diện Material trong Compose.