Compose Material 3

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.
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 1 tháng 5 năm 2024 1.2.1 - - 1.3.0-alpha06

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ómNội dung mô tả
compose.animationTạo ảnh động trong các ứng dụng Jetpack Compose để làm phong phú trải nghiệm người dùng.
compose.compilerBiế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.foundationViế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.materialXâ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.material3Xâ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.runtimeCá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.uiCá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-alpha07"
}

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-alpha07")
}

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.

Báo lỗi mới

Hãy xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Compose Material3 Common Phiên bản 1.0

Phiên bản 1.0.0-alpha01

Ngày 17 tháng 4 năm 2024

Phát hành androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01androidx.compose.material3:material3-common-desktop: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

Các thành phần không có giao diện có thể dùng để tạo các thành phần Material Design:

Bộ điều hướng thích ứng Compose Material3 Phiên bản 1.0

Phiên bản 1.0.0-alpha07

Ngày 1 tháng 5 năm 2024

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07androidx.compose.material3:material3-adaptive-navigation-suite-desktop: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

  • Đặt các API bộ điều hướng ở dạng không thử nghiệm (If62af)

Sửa lỗi

  • Sử dụng các phần lồng ghép cho nội dung theo mặc định (50266df)

Phiên bản 1.0.0-alpha06

Ngày 17 tháng 4 năm 2024

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06androidx.compose.material3:material3-adaptive-navigation-suite-desktop: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

  • Thêm containerColorcontentColor vào NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Thêm hàm itemColors vào NavigationSuiteDefaults. (Idf719, b/328480012)
  • Đóng NavigationSuiteScope. (Iefa57)

Phiên bản 1.0.0-alpha05

Ngày 6 tháng 3 năm 2024

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05androidx.compose.material3:material3-adaptive-navigation-suite-desktop: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

  • Đặt hàm khởi tạo NavigationSuiteItemColors ở chế độ công khai. (Ica83a, b/324886877)

Phiên bản 1.0.0-alpha04

Ngày 21 tháng 2 năm 2024

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Cập nhật các phần phụ thuộc thích ứng Material3 lên các đường dẫn mô-đun mới. (Ibc421)
  • Di chuyển sang phiên bản Trình quản lý cửa sổ của các lớp kích thước cửa sổ. (I3794d)

Phiên bản 1.0.0-alpha03

Ngày 7 tháng 2 năm 2024

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Các thay đổi về API

  • Cập nhật tên gói thành navigation suite từ bộ điều hướng (I7eff7)
  • Các thành phần Material3 hiển thị một MutableInteractionSource trong API đã được cập nhật để hiện MutableInteractionSource có thể nhận giá trị rỗng mặc định là 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 nâng MutableInteractionSource lên trên và đối tượng 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, đồng thời 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ụng MutableInteractionSource mà 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 riêng mình. (I41abb, b/298048146)

Phiên bản 1.0.0-alpha02

Ngày 13 tháng 12 năm 2023

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

Sửa lỗi

  • Sửa thành phần điều hướng lấp đầy toàn bộ màn hình khi nền tảng gốc có modifier.fillMaxSize. (c9cf250, b/312664933)

Phiên bản 1.0.0-alpha01

Ngày 15 tháng 11 năm 2023

Phát hành androidx.compose.material3:material3-adaptive-navigation-suite: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

Compose Material3 Adaptive Phiên bản 1.0

Phiên bản 1.0.0-alpha06

Ngày 7 tháng 2 năm 2024

Phát hành androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06androidx.compose.material3:material3-adaptive-desktop: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 các tuỳ chọn hành vi bổ sung cho tính năng điều hướng quay lại của ThreePaneScaffoldNavigator. (I858aa)
  • Đã thêm nội dung đích không bắt buộc vào nhật ký điều hướng. (Ibd7e6)

Phiên bản 1.0.0-alpha05

Ngày 24 tháng 1 năm 2024

Phát hành androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05androidx.compose.material3:material3-adaptive-desktop: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

  • Hỗ trợ nhận biết lịch sử trong việc điều hướng Scaffold và tính toán giá trị (I71d46)

Phiên bản 1.0.0-alpha04

Ngày 10 tháng 1 năm 2024

Phát hành androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm những thay đổi sau.

Tính năng mới

  • Thêm tính năng hỗ trợ tràn viền trong giàn giáo ngăn (I1b462)

Các thay đổi về API

  • Di chuyển các thuộc tính giới hạn bản lề trong Posture sang danh sách thông tin bản lề (I24f90)

Sửa lỗi

  • Sửa lỗi AnimatedPane không được kết hợp lại (c3f573d)

Phiên bản 1.0.0-alpha03

Ngày 13 tháng 12 năm 2023

Phát hành androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thay đổi vai trò Scaffold thành bí danh của ThreePaneScaffoldRole. (I65bd1)
  • Tạo một lớp cơ sở cho các vai trò Scaffold (I4784d)
  • Xoá tham số không cần thiết khỏi nội dung của AnimatedPane (Ibc73b)
  • Đổi tên collectWindowSizeAsState rồi trả về các giá trị thô (I480f4)

Phiên bản 1.0.0-alpha02

Ngày 29 tháng 11 năm 2023

Phát hành androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Các thay đổi về API

  • Phân tách các API điều hướng khỏi các API Scaffold thích ứng. (Ic4045)
  • Xoá lớp GutterSize. (I785b3)

Sửa lỗi

  • Không chuyển đổi ngăn sửa lỗi khi không dùng AnimatedPane (d88f181)

Phiên bản 1.0.0-alpha01

Ngày 15 tháng 11 năm 2023

Phát hành androidx.compose.material3:material3-adaptive: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

API điều kiện thích ứng Material3:

API chỉ thị của ngăn thích ứng Material3:

API scaffold ngăn thích ứng Material3:

Compose Material3 Phiên bản 1.3

Phiên bản 1.3.0-alpha06

Ngày 1 tháng 5 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha06. Phiên bản 1.3.0-alpha06 bao gồm các thay đổi sau.

Thay đổi có thể gây lỗi

  • Các API kéo để làm mới mới:

    • Đơn giản hoá PullToRefreshState để sử dụng các giá trị phân số thay vì đơn vị Dp.
    • Trạng thái isRefreshing do người dùng kiểm soát thay vì PullToRefreshState.
    • Tách kết nối cuộn lồng khỏi PullToRefreshState. Phương thức này sẽ do PullToRefreshBox hoặc Modifier.pullToRefresh mới xử lý.
    • Bản cập nhật này là một thay đổi có thể gây lỗi cho các API thử nghiệm trước đó. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Các thay đổi về API

  • RippleConfiguration#isEnabled đã bị xoá và LocalRippleConfiguration trở thành giá trị rỗng. Để tắt hiệu ứng gợn sóng, thay vì cung cấp RippleConfiguration bằng isEnabled = false, hãy cung cấp null cho LocalRippleConfiguration. (I22725)
  • ModalBottomSheet vẽ màn hình chính xác hơn trên thanh trạng thái khi bật từ cạnh này sang cạnh khác. Nội dung bảng dưới cùng theo mô-đun hiện có thể sử dụng các phần lồng ghép cửa sổ, cho phép hiển thị nội dung phía trên thanh điều hướng. Đổi tên tham số ModalBottomSheet windowInsets thành contentWindowInsets để chỉ định vị trí áp dụng các phần lồng ghép, các phần lồng ghép này không còn liên kết với logic cửa sổ nữa. Loại contentWindowInsets đã được thay đổi thành hàm trả về WindowInsets, để cho phép giải quyết thuộc tính này trong cửa sổ mới. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRowSecondaryScrollableTabRow hiện sử dụng bố cục tuỳ chỉnh thay vì thành phần phụ, điều này sẽ cải thiện hiệu suất. (I991e0)
  • Ngoài việc định kiểu thông thường, di chuột và làm tâm điểm, đường liên kết văn bản còn có tuỳ chọn định kiểu trạng thái được nhấn. Mỗi phương thức TextDefaults đều có một đối số pressedStyle để hỗ trợ việc đó. (Ic473f, b/139312671)

Sửa lỗi

  • Neo kéo ngăn điều hướng hiện khớp với chiều rộng của drawerContent. (Ibc72f, b/245355396)
  • Khoảng đệm trên cùng OutlinedTextField của nhãn hiện có tính đến cỡ chữ của hệ thống. (Idc781)
  • Sửa vị trí gói của CalendarLocale. (Ifa235)
  • [Xem trước thao tác quay lại] Cập nhật ảnh động xem trước thao tác quay lại để sử dụng đường cong nội suy của (0.1, 0.1, 0, 1) (I2591a)

Phiên bản 1.3.0-alpha05

Ngày 17 tháng 4 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha05. Phiên bản 1.3.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • SearchBarDockedSearchBar có các phương thức nạp chồng mới nhận tham số trường văn bản. Điều này cho phép tạo kiểu cho trường văn bản riêng biệt với phần còn lại của thanh tìm kiếm cũng như chuyển vào các trường văn bản tuỳ chỉnh. Trường văn bản của cách triển khai hiện tại được cung cấp dưới dạng SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700)
  • lambda drawTick đã được thêm vào API công khai để tuỳ chỉnh kim đánh dấu nhịp độ khung hình nếu cần (I0c048)

Các thay đổi về API

  • Đường liên kết văn bản được nhấn tuỳ chọn định kiểu trạng thái ngoài việc định kiểu thông thường, di chuột và làm tâm điểm (I5f864, b/139312671)
  • Cập nhật CarouselItemInfo để hiển thị một hình chữ nhật mặt nạ cho thấy mục đang được cắt bởi (I785d8)
  • Xoá BasicTooltipState khỏi API công khai của Material 3. Chức năng này được kết hợp với TooltipState cho đến khi BasicTooltip của Nền tảng trở nên ổn định. (Icda29)
  • Thêm đối tượng TextDefaults chứa các phương thức để tạo LinkAnnotation và phân tích cú pháp chuỗi được gắn thẻ HTML. Việc này áp dụng MaterialTheme cho các đường liên kết (I98532, b/139312671)
  • ExposedDropdownMenuBoxScope không còn cho phép lớp con. Trình đơn thả xuống hiển thị hiện có MenuAnchorType cần được truyền vào menuAnchor để hỗ trợ a11y tốt hơn. Bạn nên sử dụng thuộc tính này thay vì truyền focusable đến ExposedDropdownMenu (hiện không dùng nữa). menuAnchor có một tham số mới để kiểm soát trạng thái enabled. (I55ee6, b/257209915, b/308840226)
  • Sửa màu đường viền của OutlinedButton khi tắt. Thêm quá tải (overload) ButtonDefaults.outlinedButtonBorder("enabled") nhận trạng thái bật. (Ie650b, b/318461363)
  • Thêm một lớp CarouselItemInfo mới để giúp khách hàng nhận thông tin về kích thước mặt hàng. (I9070c)
  • Giờ đây, hàm khởi tạo ColorScheme không có vùng chứa bề mặt đã ngừng hoạt động. Vui lòng di chuyển đến hàm khởi tạo có chứa vùng chứa bề mặt. (I35c11)
  • [Outlined]Đã đổi tên ContainerBox TextFieldDefaults thành Container. (Ie8d3b)

Sửa lỗi

  • BottomSheetScaffold sẽ không còn cuộn từ chức năng cuộn lồng nữa nếu sheetSwipeEnabled là false. (I5e1c1, b/306464779)
  • Xoá một số chú thích Chọn sử dụng ExperimentalMaterial3Api trong IconButtonSamples.kt. (I111d1)

Phiên bản 1.3.0-alpha04

Ngày 3 tháng 4 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha04. Phiên bản 1.3.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm hai phiên bản thử nghiệm của Băng chuyền Material3HorizontalMultiBrowseCarouselHorizontalUncontainedCarousel (I88d64)
  • Cập nhật Ngăn điều hướng Compose M3 (ModalDrawerSheetDismissibleDrawerSheet) để hỗ trợ tính năng Xem trước thao tác quay lại trên U+ khi chọn sử dụng (Ie5b0b)
  • Thêm API mới trong Biểu tượng để cho phép truyền sắc thái màu dưới dạng lambda nhằm tránh kết hợp lại. (I5b5a2)
  • API thanh ứng dụng hàng đầu hiện hỗ trợ chiều cao tuỳ chỉnh cho cả phần cố định và phần có thể thu gọn. (Ib8b0c, b/323403446)

Các thay đổi về API

  • API thanh ứng dụng hàng đầu hiện hỗ trợ chiều cao tuỳ chỉnh cho cả phần cố định và phần có thể thu gọn. Khắc phục vấn đề thanh ứng dụng một dòng trên cùng kết hợp lại quá nhiều lần khi cuộn nội dung. Giải quyết vấn đề MediumTopAppBar bị cắt bớt tiêu đề trên các thiết bị có chế độ cài đặt hiển thị/phông chữ lớn. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676)
  • SegmentedButton và các API liên kết hiện đã ổn định (I8a158)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxStateSwipeToDismissBoxValue hiện được đánh dấu là ổn định. (I5f000)
  • Xoá các enum và API DismissDirectionDismissValue không dùng nữa. (I89ccd)
  • Thêm thẻ thử nghiệm vào đối tượng đồng hành CarouselState của Băng chuyền. (I94154)
  • Ngừng sử dụng LocalMinimumInteractiveComponentEnforcement và ra mắt LocalMinimumInteractiveComponentSize để thay thế. (I7a7ac)
  • Hàm khởi tạo SearchBarColors đang ở chế độ công khai. (I769ca)
  • Thêm tham số gesturesEnabled vào SwipeToDismissBox. (Idc59f, b/324170119)
  • Xoá các API trường văn bản được đánh dấu là không dùng nữa và đang trong giai đoạn thử nghiệm. (I1305f)

Phiên bản 1.3.0-alpha03

Ngày 20 tháng 3 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha03. Phiên bản 1.3.0-alpha03 bao gồm các thay đổi sau.

Thay đổi có thể gây lỗi hình ảnh

  • Cập nhật lớp phủ trạng thái lấy nét thành 0.1f để đảm bảo đủ độ tương phản màu. (I7ea77)
  • Những điều chỉnh nhỏ đối với màu mặc định của vùng hiển thị và màu nền trong lightColorSchemedarkColorScheme. (I9db52)

Tính năng mới

  • Thêm các tham số để tuỳ chỉnh ExposedDropdownMenu. Cụ thể, các trình đơn hiện có tham số focusable (true mặc định) phải được đặt thành false khi làm việc với các trường văn bản có thể chỉnh sửa. (I4184c, b/323694447, b/278609042)

Các thay đổi về API

  • Đã xoá cờ ScaffoldSubcomposeInMeasureFix. (Ie2a4b)
  • NavigationRailItemColors nay được đánh dấu là @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors nay được đánh dấu là @Immutable. (I42a30, b/298064514)
  • Sắp xếp lại các tham số trong thành phần kết hợp Thanh trượt. (I9f315)
  • ExposedDropdownMenu hiện được triển khai bằng Popup. Thao tác sẽ giống nhau, ngoại trừ các trình đơn có thể làm tâm điểm, có trường văn bản chỉnh sửa được khi nhập bằng bàn phím.

Sửa lỗi

  • Vai trò cơ sở của vùng chứa Vùng hiển thị và Vùng chứa đã được điều chỉnh đôi chút để tăng độ phủ màu cho các giao diện sáng và tối. (I677a5)
  • Cập nhật màu Thanh trượt và màu ProgressIndicator để tuân theo thông số kỹ thuật mới về Độ tương phản phi văn bản. (I26807)
  • Cập nhật lớp phủ trạng thái lấy nét thành 0.1f để đảm bảo đủ độ tương phản màu. (I7ea77)
  • Những điều chỉnh nhỏ đối với màu mặc định của vùng hiển thị và màu nền trong lightColorSchemedarkColorScheme. (I9db52)

Phiên bản 1.3.0-alpha02

Ngày 6 tháng 3 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha02. Phiên bản 1.3.0-alpha02 bao gồm các thay đổi sau.

Các thay đổi về API

  • Đang làm cho các trạng thái của thanh trượt ổn định trở lại. Biến State.onValueChangeFinished thành một val. Gói onValueChangeFinished trong rememberUpdatedState. (I82ab2, b/322269951)
  • Các thành phần Điều hướng hiện sử dụng vai trò SurfaceContainer mới. DrawerDefaults nay cung cấp các thuộc tính standardContainerColormodalContainerColor riêng biệt. DrawerDefaults.ModalDrawerElevation đổi tên thành 0.dp. (I7fbac)
  • Xoá @Stable khỏi các trạng thái của Slider vì chúng ta sẽ thay đổi state.onValueChangeFinished thành var. (Ied34a, b/322269951)
  • Thông số kỹ thuật của ảnh động ModalBottomSheetStandardBottomSheet hiện là TweenSpec, được cập nhật từ ảnh động mùa xuân. Cách này giải quyết vấn đề về sự vượt quá mức dễ thấy. Các hàm khởi tạo SheetState không dùng nữa không có mật độ hiện đã bị xoá. (I7babc, b/285847707)

Sửa lỗi

  • Các biến thể SurfaceContainer hiện được các thành phần sử dụng. Theo mặc định, các thành phần được tính toán màu chính thức với Surface và TonalElevation hiện sử dụng vai trò SurfaceContainer theo mặc định, những vai trò này không bị ảnh hưởng bởi độ nâng sắc độ màu. (b/304584161)
  • Khắc phục lỗi khiến màu vùng chứa bị vô hiệu hoá và chưa được chọn của ElevatedFilterChip chuyển thành màu đen. (I400e6, b/322407043)
  • Khắc phục chỉ báo tiến trình không xác định khi tiến trình là 0 (Id6582)
  • Khắc phục vấn đề với SliderRangeSlider trên bố cục RTL (Iab0e1)
  • Việc thêm SliderRangeTolerance để tính toán phạm vi thanh trượt vì chế độ Làm tròn nổi có thể không chính xác. (Ic918a, b/324934900)
  • Đảm bảo DatePickerDialog hiển thị các nút khi lồng DateRangePicker hoặc khi hiển thị bất kỳ loại bộ chọn ngày nào trên màn hình nhỏ có phông chữ lớn hơn. (Ie4758, b/325107799, b/277768544)
  • Menu hiện tận dụng vai trò SurfaceContainer đối với màu vùng chứa. MenuDefaults.TonalElevation đổi tên thành 0.dp. (I135b7)
  • TextField hiện tận dụng vai trò SurfaceContainerHighest đối với màu vùng chứa. (I4dced)
  • Chip nâng cao hiện tận dụng vai trò SurfaceContainerLow (I7cd2f)
  • Màu vùng chứa DatePicker hiện là SurfaceContainerHigh. DatePickerDefaults.TonalElevation đổi tên thành 0.dp. (Ida753)
  • Cập nhật màu vùng chứa và ô điều khiển kéo trong Trang tính dưới cùng. (I72a0a)
  • Màu vùng chứa RichTooltip hiện là SurfaceContainer. (Ia8b45)
  • Màu vùng chứa SearchBar hiện là SurfaceContainerHighest. SearchBarDefaults.TonalElevation đổi tên thành 0.dp. (I88604)
  • Đã tắt và bỏ chọn kênh/biểu tượng để tận dụng vai trò của màu SurfaceContainerHighest. (I7687a)
  • Màu vùng chứa AlertDialog hiện là SurfaceContainerHigh. (Ie0433)
  • Màu vùng chứa BottomAppBar hiện là SurfaceContainer. Màu onScroll của TopAppBar hiện là SurfaceContainer. (I41630)
  • Màu vùng chứa ElevatedCard hiện là SurfaceContainerLow. Màu vùng chứa của FilledCardSurfaceContainerHighest. (I35141)
  • Màu vùng chứa ElevatedButton hiện là SurfaceContainerLow. Khi bị bỏ chọn, FilledIconButton hiện có màu vùng chứa là SurfaceContainerHighest. (I792c9)
  • Cập nhật màu vùng chứa TimePicker và vai trò màu của đồng hồ thành SurfaceContainerHighest. (I43b93)

Phiên bản 1.3.0-alpha01

Ngày 21 tháng 2 năm 2024

Phát hành androidx.compose.material3:material3-*:1.3.0-alpha01. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật Compose M3 ModalBottomSheet để hỗ trợ tính năng Xem trước thao tác quay lại trên U+ (Iccf32, b/281967264, b/304850357)
  • Cập nhật SearchBar của Compose M3 để hỗ trợ tính năng Xem trước thao tác quay lại trên U+ (I657f8)
  • Cập nhật Thanh trượt để cải thiện khả năng tiếp cận bằng cách thêm khoảng trống và chỉ báo dừng. (I3058e)
  • Cập nhật ProgressIndicator để cải thiện khả năng tiếp cận bằng cách thêm một khoảng trống và chỉ báo dừng. (I21451)
  • Khi thêm một con nháy mặc định cho chú giải công cụ đa dạng thức, API chú giải công cụ mới đa dạng hiện sẽ cho phép vẽ con nháy tuỳ chỉnh dựa trên LayoutCoordinates. (Ifd42c)

Thay đổi về hành vi

  • Các thành phần Material đã được di chuyển để sử dụng các API gợn sóng mới và không còn truy vấn RippleTheme nữa.

Các thay đổi về API

  • drawStopIndicator thú vị nay xuất hiện công khai. (I3f59f)
  • Đánh dấu hàm formatWithSkeleton của DatePicker là nội bộ (Ic65dc)
  • DropdownMenu nay hỗ trợ màu, hình dạng, độ cao và đường viền tuỳ chỉnh. (I8e981, b/289554448, b/301887035, b/283654243)
  • Cập nhật các thành phần Material3 hiển thị MutableInteractionSource trong API để hiện MutableInteractionSource rỗng có giá trị mặc định là null. 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 nâng MutableInteractionSource lên trên và đối tượng 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, đồng thời 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ụng MutableInteractionSource mà 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 riêng mình. (I41abb, b/298048146)
  • Thêm RippleConfigurationLocalRippleConfiguration để cho phép tuỳ chỉnh hiệu ứng gợn sóng theo từng thành phần / cây con bằng cách sử dụng các giá trị cố định. Ví dụ: để thay đổi màu của một thành phần mà bạn không kiểm soát hoặc để tắt hiệu ứng gợn sóng cho một thành phần. Trong hầu hết các trường hợp, bạn nên sử dụng các giá trị mặc định: các API này là giải pháp thay thế để tuỳ chỉnh các thành phần riêng lẻ / các cây phụ giới hạn. Đối với các thay đổi rộng hơn và các hệ thống thiết kế tuỳ chỉnh, bạn nên tạo hiệu ứng gợn sóng của riêng mình bằng createRippleModifierNode. (I7b5d6, b/298048146)
  • Thêm API gợn sóng mới trong Material3 để thay thế rememberRipple đã ngừng hoạt động. Ngoài ra, hãy thêm CompositionLocal tạm thời, LocalUseFallbackRippleImplementation, để chuyển các thành phần material3 về việc sử dụng các API rememberRipple / RippleTheme không dùng nữa. API này sẽ bị xoá trong bản phát hành chính thức tiếp theo và chỉ dùng để hỗ trợ di chuyển tạm thời trong trường hợp bạn đang cung cấp RippleTheme tuỳ chỉnh. (I34cbc, b/298048146)

Sửa lỗi

  • Xoá cấu trúc phụ bên trong ModalBottomSheet để cải thiện hiệu suất. Khắc phục vấn đề ModalBottomSheet có thể gặp sự cố trong các trường hợp cụ thể kết hợp với LookaheadScope. (I2a198)
  • Xoá cấu trúc phụ bên trong BottomSheetScaffold để cải thiện hiệu suất. Khắc phục vấn đề BottomSheetScaffold gặp sự cố trong các trường hợp cụ thể kết hợp với LookaheadScope. (Ie6401)
  • Căn chỉnh huy hiệu được điều chỉnh để gần với tâm nội dung liên kết hơn, về phía góc trên cùng bên phải. (I18a28)
  • Khắc phục lỗi a11y xảy ra với DateRangePicker, trong đó tiêu đề văn bản Tháng-Năm được truyền tải dưới dạng có thể hành động cho trình đọc màn hình, người dùng Tiếp cận bằng công tắc và người dùng Điều khiển bằng giọng nói. (I2ac55)
  • Sửa lỗi thứ tự tham số mediumTopAppBarColors. (Ibe64a)

Phiên bản 1.2

Phiên bản 1.2.1

Ngày 6 tháng 3 năm 2024

Phát hành androidx.compose.material3:material3-*:1.2.1. Phiên bản 1.2.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Đảm bảo các trạng thái của Thanh trượt trở lại ổn định. Biến State.onValueChangeFinished thành một val. Gói onValueChangeFinished trong rememberUpdatedState. (Ie8fd0, b/322269951)
  • Xoá @Stable khỏi các trạng thái của Slider vì chúng ta sẽ thay đổi state.onValueChangeFinished thành var. (I82ba1, b/322269951)
  • Sửa NavigationBar màu tuỳ chỉnh để sao chép từ màu mặc định. (80a779, b/326894020)
  • Khắc phục lỗi hồi quy trong ExposedDropdownMenu để đặt lại làm tâm điểm (3fcec1, b/323694447)
  • Khắc phục sự cố lưu màu vào bộ nhớ đệm của nút (3e5bbcb/327371655)

Phiên bản 1.2.0

Ngày 7 tháng 2 năm 2024

Phát hành androidx.compose.material3:material3-*:1.2.0. Phiên bản 1.2.0 bao gồm các thay đổi sau.

Vấn đề đã biết

  • Lỗi kết xuất tương tác View-Compose đã được ra mắt trong PrimaryTabRow nhằm cải thiện hiệu suất. Cách giải quyết là sử dụng TabRow với TabRowDefaults.PrimaryIndicator

Các thay đổi quan trọng kể từ phiên bản 1.1.0

Các thành phần mới trong Material Design 3

Các tính năng nâng cao cho thành phần Material Design 3 hiện có.

Đưa các API thử nghiệm lên phiên bản chính thức!

Cải thiện hiệu suất

Phiên bản 1.2.0-rc01

Ngày 24 tháng 1 năm 2024

Phát hành androidx.compose.material3:material3-*:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa lỗi thứ tự tham số mediumTopAppBarColors. (Ibe64a)
  • Khắc phục một lỗi xuất hiện trong 1.2.0-beta02 trong CardDefaults.cardColors không cập nhật contentColor dựa trên giá trị tham số containerColor. (Iee041, b/319671246)
  • Sửa lỗi trong disabledContentColor ra mắt trong 1.2.0-beta02 và thêm tính năng tối ưu hoá nhỏ. (I6dda1, b/318428829)

Phiên bản 1.2.0-beta02

Ngày 10 tháng 1 năm 2024

Phát hành androidx.compose.material3:material3-*:1.2.0-beta02. Phiên bản 1.2.0-beta02 bao gồm các thay đổi sau.

Lỗi đã biết

  • Theo mặc định, một lỗi trong IconButtonColors sẽ gán disabledContentColor cho alpha (0,38f) của LocalContentColor thay vì contentColor do người dùng chỉ định. Cách giải quyết là đặt disabledContentColor một cách rõ ràng. Lỗi này sẽ được khắc phục trong bản phát hành tiếp theo.

Các thay đổi về API

  • Thêm khả năng bật dấu nháy chú giải công cụ cho các API Tooltip thuần tuý. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismissSwipeToDismissValue đều được đổi tên để có _SwipeToDismissBox_. (I68d6d)

Sửa lỗi

  • Sửa giá trị khoảng đệm cuối ListItem để phù hợp với thông số kỹ thuật. (Ibd68b, b/305342674)
  • Màu đường viền cho thẻ có đường viền hiện đã được ánh xạ chính xác tới OutlineVariant. (I75480, b/310979715)
  • Màu động hiện lấy từ vai trò màu do hệ thống xác định. Điều này giúp cải thiện độ tương phản cho nội dung dễ truy cập và điều chỉnh màu động cho phù hợp hơn với thông số kỹ thuật của Material. (I1de96)
  • Khắc phục lỗi xử lý quay lại ModalBottomSheet trên Android T/13+ khi android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Phiên bản 1.2.0-beta01

Ngày 13 tháng 12 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-beta01. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Đánh dấu TabIndicatorScope là thử nghiệm. (I45c88)
  • Xoá các API thử nghiệm không dùng nữa cho chú giải công cụ. (I438cb)
  • Thay đổi các phương thức nạp chồng TabRow mới để không sử dụng các lần kết hợp phụ. Điều này dẫn đến việc xây dựng chỉ báo TabRow theo cách khác với đối tượng sửa đổi tuỳ chỉnh được cung cấp. (Ife741)
  • Ngừng sử dụng các API DismissDirectionDismissValue. Chúng đã được hợp nhất với SwipeToDismissValue có các giá trị cho biết cả vị trí và hướng của SwipeToDismissBox. DismissState.progress nay được đánh dấu là FloatRange từ 0.0 đến 1.0. Xoá DismissState Trình tiết kiệm và Hàm khởi tạo không dùng nữa. Thành phần, trạng thái và đối tượng mặc định của SwipeToDismiss đã được đánh dấu là thử nghiệm. (Ib54f2)

Sửa lỗi

  • Chỉ báo mặc định cho PullToRefresh hiện là một đầu mũi tên mở thay vì một hình tam giác liền nét. (I67be3)

Phiên bản 1.2.0-alpha12

Ngày 29 tháng 11 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha12. Phiên bản 1.2.0-alpha12 bao gồm các thay đổi sau.

Các thay đổi về API

  • RangeSlider hiện có một phạm vi Kotlin (ví dụ: 0f..1f) thay vì một lớp giá trị FloatRange tuỳ chỉnh. SnapFlingBehavior.kt hiện cũng sử dụng một dải ô Kotlin. (I025cb)
  • Đánh dấu các hàm factory của Đối tượng sửa đổi là @Stable. (Ib109f)

Phiên bản 1.2.0-alpha11

Ngày 15 tháng 11 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha11. Phiên bản 1.2.0-alpha11 bao gồm các thay đổi sau.

Tính năng mới

  • Triển khai PullToRefreshContainerPullToRefreshState, cùng cung cấp lệnh kéo để làm mới cách triển khai trong Material3. (I16456, b/261760718)

Các thay đổi về API

  • Đánh dấu SwipeToDismissBox DismissDirectionDismissValue là thử nghiệm. (I517b0)
  • Đổi tên SwipeToDismiss thành SwipeToDismissBox. Đổi tên background thành backgroundContentdismissContent thành hàm lambda content ở cuối. (I7f4d3)
  • Đặt hàm khởi tạo cho ChipElevationSelectableChipElevation ở chế độ công khai. (Ie0c48, b/308432421)
  • Đang thêm ModalBottomSheetProperties. Đang di chuyển securePolicy vào ModalBottomSheetProperties. Đang thêm isFocusableshouldDismissOnBackPress vào ModalBottomSheetProperties. Các giá trị boolean mới này giúp xác định cách bảng dưới cùng là phương thức xử lý các sự kiện IME. (Iea56f, b/278216859)
  • Cập nhật các trạng thái RangeSliderSlider để xoá initialOnValueChange, các tiền tố ban đầu và kdocs thích hợp. (I57d30)
  • Bạn không nên dùng lớp ChipBorder và các lệnh gọi hàm liên kết với lớp này nữa. Thay vào đó, bạn nên sử dụng trực tiếp BorderStroke. (I89cc2)
  • API Chú giải công cụ nền tảng hiện là @ExperimentalFoundationApi. (I30b0b)
  • TabRowScrollableTabRow đã ngừng hoạt động. Các biến thể Chính và Phụ mới được đánh dấu là thử nghiệm. (I0def6)
  • Các khối bộ lọc và đầu vào hiện sử dụng trực tiếp BorderStroke. (I07a8d)
  • SegmentedButton hiện sử dụng trực tiếp BorderStroke. (I89b9b)
  • Đổi tên hàm AlertDialog chung thành BasicAlertDialog và không dùng hàm trước đó. (Idbe52)
  • Đổi tên các API SwipeToDismiss thành SwipeDismiss và quảng bá các API SwipeDismiss mới thành phiên bản ổn định. (I14cbe)
  • Thêm tonalElevationshadowElevation vào các API chú giải công cụ. Ngoài ra, việc di chuyển các API TooltipBox, PlainTooltipRichTooltip về lại thử nghiệm vì chúng vô tình được phát hành dưới dạng ổn định. (If0f66, b/293939035)
  • Chuyển các API chip thử nghiệm lên phiên bản ổn định. (Iea2c3)
  • Xoá chú thích @ExperimentalMaterial3Api khỏi Thẻ có thể nhấp của Material3. (I88dbf)

Sửa lỗi

  • Khắc phục vấn đề SwipeToDismiss gặp sự cố trong một số trường hợp nhất định với bố cục Lookahead và Lazy lồng nhau. (Ica8d1, b/297226562)

Phiên bản 1.2.0-alpha10

Ngày 18 tháng 10 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha10. Phiên bản 1.2.0-alpha10 bao gồm các thay đổi sau.

Các thay đổi về API

  • Chuyển BadgeBadgedBox lên phiên bản ổn định. (I67f16, b/261565132)
  • Thêm securePolicy dưới dạng tham số vào ModalBottomSheet để người dùng có thể xác định hành vi cho WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Thêm các phương thức nạp chồng mới của LinearProgressIndicatorCircularProgressIndicator, các phương thức này lấy progress làm lambda. Các phiên bản này sẽ có hiệu suất cao hơn so với các phiên bản trước. (I824e6, b/295616656)
  • Đổi tên StandardSizeClasses thành AllSizeClasses. (I8cb07)
  • Kết hợp các hàm tính toán của các lớp kích thước cửa sổ. (Iad935)

Sửa lỗi

  • Khắc phục sự cố DatePicker khi nhấp nhanh vào các nút mũi tên điều hướng khi tháng hiển thị nằm ở cạnh phạm vi năm cho phép. (I46f36, b/290954897, b/297002119)
  • [Dải/thanh điều hướng] Hỗ trợ màu trong suốt cho chỉ báo. (Ie0a9b, b/267289987)

Phiên bản 1.2.0-alpha09

Ngày 4 tháng 10 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha09. Phiên bản 1.2.0-alpha09 bao gồm các thay đổi sau.

Các thay đổi về API

  • Di chuyển ModalNavigationDrawerDismissibleNavigationDrawer để sử dụng các API AnchoredDraggable mới. animateTo của DrawerState đã được thay thế bằng các phương thức mở và đóng. Độ lệch này hiện được hiển thị dưới dạng số thực thay vì đối tượng trạng thái. Bạn có thể xem mức chênh lệch trực tiếp thông qua currentOffset. (I0a72c)
  • Thêm các hàm không có khả năng kết hợp để tạo trực tiếp DatePickerStateDateRangePickerState. Bạn có thể dùng các hàm này để thay thế cho các hàm có khả năng kết hợp rememberDatePickerStaterememberDateRangePickerState khi cần. (I70326, b/291524052)
  • TabRows cố định và có thể cuộn hiện có các biến thể Chính và Phụ. Các đối tượng này ánh xạ chính xác đến hành vi của màu sắc và chỉ báo như được xác định trong Material3.
  • PrimaryScrollableTabRowSecondaryScrollableTabRow hiện hiển thị trạng thái cuộn. (Iec8f5, b/260572337)
  • Thêm tham số sheetMaxWidth mới mà nhà phát triển có thể thiết lập để chỉ định chiều rộng tối đa mà trang tính sẽ trải dài. Bạn có thể chuyển Dp.Unspecified cho tham số nếu muốn một trang tính trải dài toàn bộ chiều rộng màn hình. (Ifb7c9, b/266697696)
  • Thêm lại các API PlainTooltipBoxRichTooltipBox làm phương thức không dùng nữa. (I246fa)

Sửa lỗi

  • Khắc phục sự cố khi DatePicker được khởi chạy bằng một DatePickerFormatter có một số khung ngày nhất định không thay đổi khi chuyển đổi sang mẫu ngày (chẳng hạn như YY). (I01f29)

Phiên bản 1.2.0-alpha08

Ngày 20 tháng 9 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha08. Phiên bản 1.2.0-alpha08 bao gồm các thay đổi sau.

Thay đổi có thể gây lỗi về hành vi

  • ColorScheme hiện là Bất biến, giúp việc cập nhật từng màu trở nên kém hiệu quả hơn, nhưng giúp việc sử dụng màu phổ biến hơn hiệu quả hơn. Lý do của sự thay đổi này là vì phần lớn ứng dụng không coi việc cập nhật từng màu sắc làm trường hợp sử dụng chính. Điều này vẫn có thể thực hiện được nhưng nó sẽ kết hợp lại nhiều hơn trước, đổi lại, chúng ta sẽ giảm đáng kể số lượng gói thuê bao trạng thái thông qua toàn bộ mã Material, đồng thời sẽ ảnh hưởng đến chi phí khởi động và thời gian chạy của các trường hợp sử dụng tiêu chuẩn khác. (Ic447d, b/297212873)
  • Độ nâng sắc độ không còn tạo ảnh động ở các trạng thái tương tác khác nhau để phù hợp với thông số kỹ thuật. (Icdd12)

Các thay đổi về API

  • Thêm một BottomAppBar mới lấy tham số BottomAppBarScrollBehavior làm tham số để tự động ẩn khi người dùng cuộn nội dung. Đồng thời, thêm FabPosition.EndOverlay để cho phép FAB phủ thanh ứng dụng dưới cùng trong Scaffold thay vì neo phía trên nó. (Iecb47)
  • Thêm một thành phần Nhãn đơn giản được tạo dựa trên BasicTooltipBox mà sẽ không bị đóng khi nhấn vào bên ngoài các ranh giới của nhãn. (I821f9)

Sửa lỗi

  • Đã ngừng sử dụng rememberSaveable cho phần chú thích. (Icc131, b/299500338)
  • Ra mắt cờ tạm thời để kiểm soát xem Scaffold cần đo lường thành phần con trong quá trình đo lường hay trong khi đặt. Theo mặc định, giá trị này sẽ được đo lường bằng cách đo lường. Nếu bạn gặp vấn đề với hành vi mới, vui lòng báo cáo vấn đề. (I0b354)
  • Sửa lỗi Edge to Edge theo chiều ngang trong BottomSheet bằng cách sử dụng số đo chính xác cho chiều rộng màn hình của thiết bị. (I1df0c, b/299058752)
  • Sửa lỗi ModalBottomSheet không gọi onDismissedRequest khi loại bỏ bằng cách vuốt xuống trên trang tính. (Idfdd8)

Phiên bản 1.2.0-alpha07

Ngày 6 tháng 9 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha07. Phiên bản 1.2.0-alpha07 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã hỗ trợ thêm biểu tượng phản chiếu tự động trong compose material 1.6.0-alpha05, vui lòng xem ghi chú phát hành để biết chi tiết về biểu tượng phản chiếu tự động.

Các thay đổi về API

  • SliderState triển khai DraggableState (I9b116)
  • Thay đổi hình dạng để trở thành tham số bắt buộc. Đổi tên position thành index trong hàm trợ giúp hình dạng. (I34941)
  • Cập nhật DatePicker formatWithSkeleton để đưa vào một bản đồ dùng làm bộ nhớ đệm để cải thiện hiệu suất. (I3195f)
  • Thêm BasicTooltipBox vào compose.foundation, đồng thời cập nhật PlainTooltipBoxRichTooltipBox để sử dụng TooltipBox với các thành phần kết hợp PlainTooltipRichTooltip mới. (I79e1d)

Sửa lỗi

  • dynamicLightColorSchemedynamicDarkColorScheme hiện trả về màu sắc cao hơn cho vùng hiển thị và vai trò surfaceContainer. (I5e901)
  • Khắc phục vấn đề một số thành phần sử dụng Thành phần phụ (ví dụ: BottomSheetScaffold) bên trong một Scaffold bên trong LookaheadScope đang cố đọc kích thước của chúng quá sớm. (I297b4, I871f1, b/295536718)

Phiên bản 1.2.0-alpha06

Ngày 23 tháng 8 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha06. Phiên bản 1.2.0-alpha06 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa cách tính toán offset của DropdownMenu để độ dời x chỉ phụ thuộc vào hướng bố cục cục bộ và độ dời y sẽ không còn đảo ngược khi trình đơn ở gần cuối màn hình. (I kiện74, b/294103942)
  • Sửa cách tính toán offset của DropdownMenu để độ dời x chỉ phụ thuộc vào hướng bố cục cục bộ và độ dời y sẽ không còn đảo ngược khi trình đơn ở gần cuối màn hình. (Ib87a2, b/294103942)

Phiên bản 1.2.0-alpha05

Ngày 9 tháng 8 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha05. Phiên bản 1.2.0-alpha05 bao gồm các thay đổi sau.

Các thay đổi về API

  • Nội dung cập nhật đối với Hộp đánh dấu và màu TriStateCheckbox. CheckboxDefaults.colors() disabledUncheckedColor hiện chỉ ảnh hưởng đến đường viền của hộp đánh dấu. Các trường hợp đặc biệt đòi hỏi bạn đặt màu hộp nội bộ khi bị tắt và bỏ đánh dấu, điều này đòi hỏi bạn phải tạo một bản sao tuỳ chỉnh của CheckboxColors với các giá trị màu mong muốn. (I77d17, b/291943198)

Phiên bản 1.2.0-alpha04

Ngày 26 tháng 7 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha04. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • API nút phân đoạn thử nghiệm (Ifc8fb)
  • Đường phân chia hiện có tham số kiểm soát hướng nhằm hỗ trợ đường phân chia dọc. (I4c899, b/288438593)

Các thay đổi về API

  • Chúng tôi đang di chuyển phần phụ thuộc về mật độ sang cấp thành phần. Cách này áp dụng cho các thành phần sau: thành phần SwipeToDismiss và thành phần dựa trên Trang tính. Vui lòng sử dụng phương thức nạp chồng mới được cung cấp, trong đó mật độ là tham số. (I1846e)
  • Các chú giải bổ sung để chỉ định dữ liệu đầu vào được phép cho thành phần kết hợp (Ief234)
  • Thêm tham số biểu tượng vào nút được phân đoạn, phân tách ngữ nghĩa để các nút được phân đoạn có thể được chọn nhằm triển khai lựa chọn chọn một, và có thể bật/tắt để triển khai lựa chọn nhiều mục, với SelectableSegmentedButtonRowToggelableSegmentedButtonRow tương ứng. (I38740)
  • Dải phân cách đã được đổi tên thành HorizontalDivider. Thêm chức năng VerticalDivider. (I5975c)
  • Thay đổi việc sử dụng ClosedFloatingPointRange để có trọng lượng nhẹ hơn FloatRange trong các API Material3 thử nghiệm để giảm thiểu tình trạng tự động đóng hộp. (I4aab5)
  • Thêm căn chỉnh Bắt đầu mới cho FabPosition (Ib7aea, b/170592777)

Sửa lỗi

Phiên bản 1.2.0-alpha03

Ngày 21 tháng 6 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha03. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về hành vi

  • Theo mặc định, includeFontPadding hiện là false trong kiểu chữ Material 3. Kiểu chiều cao dòng mặc định cũng đã được thay đổi thành Trim.NoneAlignment.Center, đồng thời lineHeight rõ ràng (tính theo sp) đã được thêm vào TextStyle của Typography. Hãy tham khảo tài liệu về API nếu bạn muốn tuỳ chỉnh các giá trị này và xem bài đăng trên blog để biết thông tin giải thích chi tiết về những thay đổi này. (I6266f, Icabc3)

Tính năng mới

  • Thêm phương thức nạp chồng cho RangeSlider (đây là phiên bản có trạng thái của thành phần). Tạo RangeSliderState chứa tất cả thông tin của kênh đang hoạt động, các phép đo các thành phần của RangeSlider cũng như logic kéo và cử chỉ. (I8c270)
  • Thanh tìm kiếm hiện hỗ trợ bóng thông qua tham số shadowElevation mới được thêm vào. (Ia5369, b/271040353)
  • ColorScheme hiện hỗ trợ SurfaceContainer vai trò mới.
  • Giờ đây, bạn có thể tắt lớp phủ độ nâng sắc độ màu của vùng hiển thị bằng thành phần cục bộ LocalTonalElevationEnabled. (Ic203c, b/277774590)

Các thay đổi về API

  • Mở các hàm khởi tạo màu thành phần. (I8c4a6)
  • Thêm thông số có thể làm tâm điểm vào cả hai API của chú giải công cụ để nhà phát triển có thể cho phép chú giải công cụ sử dụng các sự kiện chạm hoặc không. Hãy thận trọng để tránh làm hỏng việc truyền tải tự động tâm điểm hỗ trợ tiếp cận. (Ie32d8)
  • Tối ưu hoá khả năng hỗ trợ tiếp cận để phân bổ hiệu suất và bộ nhớ. (Iede48)
  • Hiển thị DefaultSizeClasses và tạo StandardSizeClasses cho WindowSizeClasses (I91838)
  • thay đổi WindowWidth/HeightSizeClass thành các lớp giá trị số thực (Ie686e)

Sửa lỗi

  • Tham số contentWindowInsets của Scaffold hiện tuân theo các phần lồng ghép cửa sổ đã sử dụng. Lưu ý rằng hành vi của khoảng đệm nội dung dựa trên topBarbottomBar vẫn không thay đổi khi các tham số này được cung cấp. (I08b73, b/264601542)
  • Sửa cách căn chỉnh của thanh ứng dụng ở trên cùng ở giữa để đảm bảo một tiêu đề dài không hiển thị trên biểu tượng hành động hoặc biểu tượng điều hướng. (I4369f, b/236994621)
  • Các vị trí thẻ hiện áp dụng chiều rộng nội dung tối thiểu là 24 dp. Thao tác này cung cấp đích chạm có thể truy cập cho các chỉ báo thẻ. (Id8861)
  • Bảng màu động từ dynamicLightColorSchemedynamicDarkColorScheme hiện hỗ trợ các vai trò mới của giao diện. (I1252e)
  • Cập nhật cách căn chỉnh thông báo huy hiệu để không tạo đoạn video khi va chạm với ông bà. (Idf75a)

Phiên bản 1.2.0-alpha02

Ngày 24 tháng 5 năm 2023

Phát hành androidx.compose.material3:material3-*:1.2.0-alpha02. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm tham số phần lồng ghép cửa sổ vào ModalBottomSheet.
    • Giờ đây, bạn có thể vẽ nét kéo cho ModalBottomSheet phía sau thanh trạng thái với windowInsets được đặt thành 0
    • Cập nhật chức năng ModalBottomSheet mặc định để nằm bên ngoài thanh hệ thống, bao gồm cả tính năng chỉ đường
    • Xử lý phần lồng ghép thanh trạng thái được cung cấp bằng cách kéo ô điều khiển ở chế độ cạnh này.
    • BottomSheetDefaults bao gồm các phần lồng ghép cửa sổ cho BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/1026143}6/276143)
  • Ngừng sử dụng Indicator và thêm Primary/SecondaryIndicator để phù hợp với các thông số kỹ thuật của M3. PrimaryIndicator khớp với chiều rộng của nội dung thẻ, trong khi SecondaryIndicator chiếm toàn bộ chiều rộng có sẵn. SecondaryIndicator tương đương với Indicator hiện không được dùng nữa và có thể thay thế trực tiếp. (I27604)
  • Thêm tuỳ chọn để truyền vào ScrollState khi tạo DropdownMenu hoặc ExposedDropdownMenu để kiểm soát trạng thái cuộn dọc của các mục trong trình đơn hiển thị. (Ia0734, b/185304441)
  • Thêm phương thức nạp chồng cho Slider (đây là phiên bản có trạng thái của thành phần). Tạo SliderState chứa tất cả thông tin của kênh đang hoạt động, các phép đo các thành phần của Slider cũng như logic kéo và cử chỉ. (I124a5)
  • Đổi tên thuộc tính Ngữ nghĩa isContainer thành isTraversalGroup (I121f6)
  • Thêm TextStyle.merge(...) được tối ưu hoá với danh sách tham số đầy đủ. (Iad234, b/246961787)
  • Tạo các giao diện công khai cho TooltipState, RichTooltipStatePlainTooltipState. Thêm RichTooltipStateImplPlainTooltipStateImpl cho trạng thái mặc định. Thêm hàm remember*State để lấy các trạng thái đã triển khai này. Xoá TooltipSync và thay bằng TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Cập nhật DatePickerColors để thêm các tuỳ chọn tuỳ chỉnh bổ sung cho màu sắc đường phân chia bộ chọn ngày, thành phần điều hướng và trường nhập văn bản. (I1a685, b/274626815)
  • DatePickerStateDateRangePickerState hiện là các giao diện công khai với các cách triển khai mặc định có thể được rememberDatePickerStaterememberDateRangePickerState truy xuất. (I71c52)
  • Xoá dateValidator khỏi DatePickerDateRangePicker, đồng thời ra mắt giao diện SelectableDates có thể đặt trên trạng thái để kiểm soát ngày hoặc năm có thể chọn trong giao diện người dùng. (Ic2fc6)
  • TimePicker bị xoá khỏi API ổn định, có thể có thêm các thay đổi khác trong API trạng thái (I3f39a)
  • Chỉ chuyển ModalBottomSheet sang thiết bị Android. Bạn không nên dùng ModalBottomSheet cho máy tính và chức năng này hiện không được duy trì tích cực. (Ib3778)

Sửa lỗi

  • Sửa thao tác loại bỏ AlertDialog xuất hiện bên dưới thao tác xác nhận khi các thao tác xếp chồng lên nhau cho vừa với chiều rộng của hộp thoại. Bản sửa lỗi này điều chỉnh cách triển khai cho phù hợp với thông số kỹ thuật của Material Design. (I029de, b/235454277)
  • Sửa lỗi trong ListItem sử dụng khoảng đệm không chính xác cho các mục hàng ba dòng. (I6e235)
  • Giờ đây, ModalBottomSheet có thể hiển thị bàn phím IME (Idc508, b/262140644, b/268380384, b/272483584)

Phiên bản 1.2.0-alpha01

Ngày 10 tháng 5 năm 2023

Phát hành androidx.compose.material3:material3:1.2.0-alpha01androidx.compose.material3:material3-window-size-class:1.2.0-alpha01. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Phiên bản 1.1

Phiên bản 1.1.2

Ngày 20 tháng 9 năm 2023

Phát hành androidx.compose.material3:material3:1.1.2androidx.compose.material3:material3-window-size-class:1.1.2. Phiên bản 1.1.2 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa lỗi đối tượng sửa đổi bị truyền không chính xác đến 2 thành phần kết hợp. (b/282761472)
  • Sửa lỗi TimePickerState trả về giờ không chính xác khi khởi chạy với 23 giờ. (b/278242122)
  • Sửa trạng thái bật/tắt ban đầu cho xác thực buổi trưa và phút. (b/269768197, b/282790635)
  • Sửa lỗi state.hour trả về giá trị không chính xác cho 11 giờ đêm. (b/282761472, b/278242122)

Phiên bản 1.1.1

Ngày 21 tháng 6 năm 2023

Phát hành androidx.compose.material3:material3:1.1.1androidx.compose.material3:material3-window-size-class:1.1.1. Phiên bản 1.1.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Thêm lệnh gọi cho ModalBottomSheet mà không có tham số windowInset để tương thích với tệp nhị phân. (Ib7959)
  • Thêm tham số phần lồng ghép cửa sổ vào ModalBottomSheet.
    • Giờ đây, bạn có thể vẽ nét kéo cho ModalBottomSheet phía sau thanh trạng thái với windowInsets được đặt thành 0
    • Cập nhật chức năng ModalBottomSheet mặc định để nằm bên ngoài thanh hệ thống, bao gồm cả tính năng chỉ đường
    • Xử lý phần lồng ghép thanh trạng thái được cung cấp bằng cách kéo ô điều khiển ở chế độ cạnh này.
    • BottomSheetDefaults bao gồm các phần lồng ghép cửa sổ cho BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/1026143}6/276143)

Phiên bản 1.1.0

Ngày 10 tháng 5 năm 2023

Phát hành androidx.compose.material3:material3:1.1.0androidx.compose.material3:material3-window-size-class:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Các tính năng chính của phiên bản 1.1.0

Thành phần mới trong Material Design 3

Các tính năng nâng cao cho thành phần Material Design 3 hiện có.

Đưa các API thử nghiệm lên phiên bản chính thức!

Vui lòng xem bài đăng trên blog này để biết thêm chi tiết!

Phiên bản 1.1.0-rc01

Ngày 19 tháng 4 năm 2023

Phát hành androidx.compose.material3:material3:1.1.0-rc01androidx.compose.material3:material3-window-size-class:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Các thay đổi về API

  • TimePicker bị xoá khỏi API ổn định, có thể có thêm các thay đổi khác trong API trạng thái (I3f39a)
  • Chỉ chuyển ModalBottomSheet sang thiết bị Android. Bạn không nên dùng ModalBottomSheet cho máy tính và chức năng này hiện không được duy trì tích cực. (Ib3778)

Phiên bản 1.1.0-beta02

Ngày 5 tháng 4 năm 2023

Phát hành androidx.compose.material3:material3:1.1.0-beta02androidx.compose.material3:material3-window-size-class:1.1.0-beta02. Phiên bản 1.1.0-beta02 bao gồm các thay đổi sau.

Các thay đổi về API

  • SheetState hiện có tham số skipHiddenState không bắt buộc
  • rememberStandardBottomSheetState hiện có tham số skipHiddenState không bắt buộc
  • BottomSheetScaffold hiện có một quảng cáo cố định cuối màn hình đã định nghĩa (mặc dù tính năng này bị tắt theo mặc định)
  • Đã cập nhật SheetState.requireOffset tài liệu
  • BottomSheetDefaults.MinimizedShape đổi tên thành BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Sửa lỗi

  • Không chuyển đổi mặt quay số từ giờ sang phút khi tính năng khám phá bằng cách chạm đang bật. (I717d0)
  • Ngữ nghĩa nút kéo ModalBottomSheetBottomSheetScaffold hiện đã được hợp nhất. (I05afb)
  • Đối tượng sửa đổi BottomSheetScaffold, các tham số containerColorcontentColor hiện chỉ ảnh hưởng đến nội dung. (I992cb)
  • BottomSheetScaffold nestedScroll cho nội dung trang tính hiện triển khai tính năng hất. (I992cb)

Phiên bản 1.1.0-beta01

Ngày 22 tháng 3 năm 2023

Phát hành androidx.compose.material3:material3:1.1.0-beta01androidx.compose.material3:material3-window-size-class:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm tham số loại bố cục vào thành phần kết hợp TimePicker. Lớp này cho phép sử dụng nhiều bố cục, tuỳ thuộc vào cấu hình màn hình (Ia0e16)
  • SearchBarDefaults đã được đánh dấu là thử nghiệm. (I65561)
  • Thêm độ cao đổ bóng vào BottomSheetScaffold (I94e0f)
  • Hỗ trợ thêm việc hiển thị bộ chọn ngày mà không có phần tiêu đề. Các thay đổi về API để cho phép chuyển dòng tiêu đề rỗng khi tạo bộ chọn ngày. Giờ đây, bạn có thể chuyển dòng tiêu đề, tiêu đề và showToggleMode = false rỗng để hiển thị bộ chọn không có giao diện người dùng. (Id3f3a, b/266132421, b/267194809)

Sửa lỗi

  • Giờ đây, thanh tìm kiếm sẽ tự động xoá tiêu điểm khi không hoạt động. (I22a7c, b/261444487)
  • Cập nhật DateRangePicker để cho phép chọn một dải ô có ngày bắt đầu và ngày kết thúc giống nhau. (I16529, b/272882497)
  • Các trường văn bản giờ đây sẽ định vị chính xác các thành phần văn bản khi cỡ chữ nhỏ hơn dự kiến. Điều này có thể làm thay đổi một vài pixel trong ứng dụng của bạn dựa trên cài đặt phông chữ và tập lệnh. (I8b8d0)
  • Các thao tác ngữ nghĩa ở bảng dưới cùng hiện đã có nhãn. (I277b0)

Phiên bản 1.1.0-alpha08

Ngày 8 tháng 3 năm 2023

Phát hành androidx.compose.material3:material3:1.1.0-alpha08androidx.compose.material3:material3-window-size-class:1.1.0-alpha08. Phiên bản 1.1.0-alpha08 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm tính năng hỗ trợ cho BottomSheetScaffoldBottomSheetScaffoldState. (I063d4)

Các thay đổi về API

  • Thêm chức năng vào DatePickerStateDateRangePickerState để cho phép đặt ngày sau lần tạo trạng thái ban đầu, cũng như đặt lại các lựa chọn bằng cách đặt dấu thời gian rỗng. Bạn phải thận trọng khi đặt ngày theo cách thủ công và hàm setSelection mới sẽ gửi một ngoại lệ trong trường hợp ngày đã cho không đáp ứng điều kiện tiên quyết (xem tài liệu). (Ifa645, b/268609314, b/270427389)
  • Đổi tên SheetValue đã thu gọn thành PartiallyExpanded để mô tả hành vi ở trạng thái này một cách chính xác và linh hoạt hơn. (Ia1491)
  • Cập nhật tên tham số ListItem thành _content thay vì _text. Các phương thức getter mặc định hiện là ReadOnlyComposables nếu phù hợp. (I69a25)
  • Trao đổi API Surface tương tác từ thử nghiệm. (I90d59, b/261561812)

Sửa lỗi

  • Khắc phục vấn đề khi trạng thái HalfExpanded của ModalBottomSheet được tính toán không chính xác và trang tính sẽ xuất hiện ở dạng nổi. (I45e84, b/268411386)
  • Thêm dấu kiểm confirmValueChange để nhấn màn hình cho ModalBottomSheet. (I2311a, b/270425759)
  • Di chuyển các thao tác BottomSheet ngữ nghĩa để kéo ô điều khiển. (I158ba)
  • Giờ đây, các lệnh của ModalBottomSheet tập trung vào việc khởi chạy, xử lý nút quay lại. (I4d2ab)
  • ModalBottomSheet onDismissRequest hiện cũng được xử lý trong các cử chỉ hất khi cuộn lồng. (I655c5, b/268433166)

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-alpha07androidx.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ành unfocusedTextColorplaceholderColor thành unfocusedPlaceholderColor.
    • 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.
  • 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ành elevation 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 DatePickerDateRangePicker 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-alpha06androidx.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ới TimePickerState và phương thức rememberTimePickerState 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 ModalBottomSheetModalBottomSheetDefaults. Đồng thời, ra mắt SheetStaterememberSheetState 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, ListItemDefaultsListItemColors thành phiên bản không thử nghiệm (I7e7fa, b/261438882)
  • Chuyển SliderPositions, SliderDefaults.ThumbSliderDefaults.Track thành phiên bản ổn định, thêm các API SliderRangeSlider 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 API SliderRangeSlider 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 API PlainTooltipBox để TooltipState không còn rỗng nữa và hiện có giá trị mặc định. (Ie2fb7)
  • Đánh dấu ProgressIndicatorDefaults.circularTrackColor@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 đến LocalMinimumInteractiveComponentEnforcement. (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-alpha05androidx.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.

Thông tin cập nhật về phần phụ thuộc

  • Compose UICompose Material hiện phụ thuộc vào Lifecycle 2.6.0.

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-alpha04androidx.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ên androidx.compose.foundation:1.4.0-alpha04, bạn có thể gặp lỗi java.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ện androidx.compose.materialandroidx.compose.material3 lên phiên bản mới nhất (1.1.0-alpha04) hoặc hạ cấp androidx.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-alpha03androidx.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ành consumeWindowInsets()withConsumedWindowInsets() thành onConsumedWindowInsetsChanged() 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ột Scrollable 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 UICompose 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-alpha02androidx.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

  • awaitFirstDownwaitForUpOrCancellation hiện chấp nhận PointerEventPass để linh hoạt hơn (cũng như khắc phục ExposedDropdownMenuBox 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, TextFieldOutlinedTextField 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àm topAppBarColors mới mà bạn nên sử dụng khi tạo TopAppBar. (Ie6cb9)
  • Thêm tham số minLines vào BasicTextBasicTextField. 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 IconButtonIconToggleBotton 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-alpha01androidx.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.1androidx.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.0androidx.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

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ụng calculateWindowSizeClass để 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 cho WindowSizeClass.

  • 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-rc01androidx.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-beta03androidx.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 đổi Modifier.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-beta02androidx.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àm TopAppBar 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-beta01androidx.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-alpha16androidx.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ố NavigationBarNavigationRail để 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 BadgeBadgedBox 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ỏi MenuDefaultsTabDefaults (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-alpha15androidx.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 FilterChipElevatedFilterChip để xoá vùng selectedIcon và tăng cường sử dụng lại leadingIcon để 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 ListItemDefaultsListItemColors 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àm Checkbox. (I5eefc)
  • Xoá chú thích @ExperimentalMaterial3Api khỏi hàm RadioButton. (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-alpha14androidx.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àu FilterChip đố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)
  • WindowWidthSizeClassWindowHeightSizeClass 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-alpha13androidx.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-alpha12androidx.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-alpha11androidx.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 AssistChipInputChip (I0d25a)
  • Thêm tuỳ chọn hỗ trợ Material3 FilterChipSuggestionChip (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 trong OutlinedTextField thành TextFieldDefaults.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-alpha10androidx.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ụng calculateWindowSizeClass để 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 cho WindowSizeClass. Để 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ỏi BottomAppBar bằng FAB. (I92c47)
  • Thêm Material3 FilledIconButton, FilledTonalIconButtonOutlinedIconButton. (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ùng consume() để thay đổi hoàn toàn. Bạn có thể sử dụng isConsumed để 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ủa PointerInputChange 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ột PointerInputChange 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ành containerColor 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ớp ColorScheme. (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)
  • LazyVerticalGridLazyHorizontalGrid 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ụng ViewCompat.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 PermanentNavigationDrawerDismissibleNavigationDrawer 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ành ModalNavigationDrawer (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ào FloatingActionButtonDefaults (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ằng LazyColumn. (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

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ằng InteractionSourceModifier.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ào MaterialTheme 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

Để 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.