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 2 tháng 7 năm 2025 1.3.2 - - 1.4.0-alpha17

Cấu trúc

Compose là sự kết hợp của 7 mã nhận dạng Nhóm Maven 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ómMô 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.3.2"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.2"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.2")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17")
}

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

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 thành phần Material Design:

Compose Material3 Adaptive Navigation Suite 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.

Thay đổi về API

  • Chuyển các API của bộ điều hướng thành phiên bản không thử nghiệm (If62af)

Sửa lỗi

  • Sử dụng 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.

Thay đổi về API

  • Thêm containerColorcontentColor vào NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Thêm hàm itemColors vào NavigationSuiteDefaults. (Idf719, b/328480012)
  • Đặt NavigationSuiteScope ở chế độ kín. (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.

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 thành đường dẫn mô-đun mới. (Ibc421)
  • Di chuyển để sử dụng phiên bản Window Manager 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.

Thay đổi về API

  • Cập nhật tên gói thành navigationsuite từ navigation-suite (I7eff7)
  • Các thành phần Material3 hiển thị MutableInteractionSource trong API của chúng đã được cập nhật để hiện hiển thị MutableInteractionSource có thể rỗng và mặc định là rỗng. Không có thay đổi nào về ngữ nghĩa ở đây: truyền giá trị rỗng có nghĩa là bạn không muốn nâng MutableInteractionSource và giá trị này sẽ được tạo bên trong thành phần nếu cần. Việc thay đổi thành giá trị rỗng cho phép một số thành phần không bao giờ phân bổ MutableInteractionSource và cho phép các thành phần khác chỉ tạo một thực thể một cách gián tiếp khi cần, điều này giúp cải thiện hiệu suất trên các thành phần này. Nếu không dùng MutableInteractionSource mà bạn truyền đến các thành phần này, thì 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

  • Khắc phục thành phần điều hướng lấp đầy toàn bộ màn hình khi giao diện 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 lựa chọn hành vi bổ sung cho thao tác điều hướng quay lại ThreePaneScaffoldNavigator. (I858aa)
  • Đã thêm nội dung đích đến 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ợ tính năng nhận biết nhật ký trong thành phần điều hướng 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 chế độ hỗ trợ hiển thị tràn viền trong các khung hiển thị ngăn (I1b462)

Thay đổi về API

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

Sửa lỗi

  • Khắc phục vấn đề 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.

Thay đổi về API

  • Thay đổi vai trò của giàn giáo thành các bí danh của ThreePaneScaffoldRole. (I65bd1)
  • Tạo một lớp cơ sở cho các vai trò dàn dựng (I4784d)
  • Xoá tham số không cần thiết khỏi nội dung của AnimatedPane (Ibc73b)
  • Đổi tên collectWindowSizeAsState và 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.

Thay đổi về API

  • Tách các API điều hướng khỏi các API khung thích ứng. (Ic4045)
  • Xoá lớp GutterSize. (I785b3)

Sửa lỗi

  • Khắc phục lỗi không chuyển đổi ngăn 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ị giàn giáo ngăn thích ứng Material3:

API giàn giáo ngăn thích ứng Material3:

Compose Material3 Phiên bản 1.4

Phiên bản 1.4.0-alpha17

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

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

Tính năng mới

  • Cập nhật ảnh động của nhóm nút để chuyển động đến 75% ảnh động khi được nhấp thay vì được nhấn. (593942a, b/423596967)

Sửa lỗi

  • Khắc phục một vấn đề trong đó một mục trong băng chuyền có thể vượt quá kích thước phần tử lớn trong quá trình tính toán bố cục, khiến toàn bộ tiện ích bị cắt. (I1c3d7, b/397489534)
  • Khắc phục lỗi bỏ qua beforeContentPadding khi cuộn băng chuyền có độ lệch bắt đầu và kết thúc trùng nhau. (c3d5f3a, b/420618979)
  • Cập nhật hành vi đã bật của SwipeToDismiss để quan sát trạng thái đã giải quyết thay vì trạng thái hiện tại. Khôi phục hành vi hiện có, trong đó hành vi của phần cố định chỉ bị vô hiệu hoá khi thành phần ở trạng thái bị đóng. (3844e07, b/425006844)
  • Giờ đây, bạn có thể mở trình đơn bật lên của ExposedDropdownMenu bằng cách nhập dữ liệu qua bàn phím. Ngoài ra, giờ đây, bạn có thể truy cập vào trình đơn bằng bàn phím cho phiên bản có thể chỉnh sửa. (46ead03)

Phiên bản 1.4.0-alpha16

Ngày 18 tháng 6 năm 2025

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

Tính năng mới

  • Đã thêm một thành phần băng chuyền chính được căn giữa (I6f6d3)

Thay đổi về API

  • Triển khai thanh công cụ dọc ghi đè XR (Ia1604)
  • Thêm các hàm cuộn theo chương trình vào CarouselState (I12f8e)
  • Thêm ComponentOverride cho ModalWideNavigationRail (I4f440)
  • Thêm ComponentOverride cho WideNavigationRail (I6354f)
  • Tạo ComponentOverride cho HorizontalFloatingToolbar (I51116)
  • Tạo ComponentOverride cho ShortNavigationBar (I30e24)
  • Các tham chiếu SwipeToDismissBoxState đến confirmValueChange đã được đánh dấu là không dùng nữa. Thay vào đó, người dùng nên tận dụng lệnh gọi lại onDismissed của API SwipeToDismissBox. (Iee780)
  • Đã thêm tham số userScrollEnabled vào các thành phần kết hợp Băng chuyền. (I1d4d2)
  • Giờ đây, bạn có thể quan sát currentItem của Băng chuyền từ CarouselState. (Ie87e9)

Sửa lỗi

  • Khắc phục vấn đề khi một hình dạng tuỳ ý trên FAB được truyền đến một FloatingToolbar không áp dụng bóng đổ đúng cách. (Icdcc9, b/423336922)
  • Giờ đây, theo mặc định, tất cả Băng chuyền đều sử dụng vai trò ngữ nghĩa Băng chuyền. (I7af12)
  • Khắc phục lỗi di chuyển ngón tay cái không chính xác khi trạng thái thanh trượt được cập nhật thông qua LaunchedEffect (Id9f31, b/302774166)

Phiên bản 1.4.0-alpha15

Ngày 20 tháng 5 năm 2025

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

Thay đổi về API

  • Đã thêm MotionTheme.LocalMotionScheme, thành phần kết hợp cục bộ. Điều này cho phép truy cập vào giản đồ chuyển động của giao diện từ CompositionLocalConsumerModifierNodes, bằng currentValueOf(MotionTheme.LocalMotionScheme). (I014b1)
  • Ngừng sử dụng hàm khởi tạo ColorScheme không có vai trò màu cố định. Vui lòng di chuyển sang hàm khởi tạo có vai trò cố định. (Iad0ee)
  • Thành phần Văn bản M3 hiện hỗ trợ TextAutoSize. (I7f524)
  • Thêm API để tạo các biến thể kích thước nút phân chia và thêm mẫu. (Ice30b)

Sửa lỗi

  • Khắc phục vấn đề SnackbarFloatingActionButton được đặt không đúng vị trí khi bật chế độ hiển thị tràn viền. Giờ đây, Scaffold sẽ áp dụng chính xác phần lồng ngang cho các thành phần này. (Ib7c30, b/244400727)
  • Cố định chuyển động BottomSheet từ trạng thái mở rộng hoàn toàn sang trạng thái mở rộng một phần. Giờ đây, BottomSheet sẽ dùng hiệu ứng nhanh của MotionScheme khi ẩn hoặc thu gọn và hiệu ứng không gian mặc định khi mở rộng. (Ifa46f, b/416063171)
  • Hàm khởi tạo ColorScheme không có vai trò vùng chứa của vùng hiển thị đã được đánh dấu là ẩn và không còn được khuyến nghị sử dụng nữa. (Ia7237)
  • Xoá yêu cầu CircularWavyProgressIndicator Size.minDimension > 0 (trước đây dùng để đưa ra một ngoại lệ) để tăng tính linh hoạt. (Ic9418, b/377531195)
  • Theo mặc định, siêu liên kết trong Text(AnnotatedString) hiện có kiểu Material. (I78288, b/339843816)
  • Khắc phục vấn đề trong đó hàm toShape() trong RoundedPolygon đang lưu vào bộ nhớ đệm một Đường dẫn và gây ra vấn đề khi có nhiều lệnh gọi createOutline được thực hiện với các kích thước khác nhau. (I4026d)

Phiên bản 1.4.0-alpha14

Ngày 7 tháng 5 năm 2025

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

Thay đổi về API

  • Thêm một thành phần kết hợp AppBarColumn mới hoạt động theo cách tương tự như AppBarRow nhưng dành cho nội dung được bố trí theo cột. (Iaf6bd)
  • Đã thêm số lượng tối đa các mục vào AppBarRow, điều này là cần thiết để triển khai chính xác quy cách của Material cho thanh ứng dụng trên cùng. (I92ce4)
  • Thêm một phương thức trong TooltipScope để lấy layoutCoordinates của điểm neo. Không dùng phương thức drawCaret nữa vì nhà phát triển có thể dùng phương thức mới này để lấy ranh giới của điểm neo layoutCoordinates và tạo một hình dạng thích hợp có chứa dấu nháy. (Ia2e12, b/329470609)
  • Đã thêm chế độ hỗ trợ java.time cho Trình chọn ngày: Giới thiệu các phương thức nạp chồng rememberDatePickerState/rememberDateRangePickerState chấp nhận các đối tượng java.time (ví dụ: LocalDate, YearMonth ban đầu). Ngoài ra, đã thêm các hàm mở rộng trên các đối tượng trạng thái để nhận/đặt giá trị bằng các loại như LocalDateYearMonth. Yêu cầu API 26 trở lên hoặc đơn giản hoá. (I70f29, b/266202516, b/281859606)
  • Thêm thành phần kết hợp CenteredTrack cho phép sử dụng một Slider có một đường trượt bắt đầu từ tâm. (I5b1d6)

Sửa lỗi

  • Cải thiện hiệu suất của Chỉ báo tiến trình dạng sóng: Các loại tuyến tính hiện tải nhanh hơn khoảng 8,5% với số lượt phân bổ ít hơn khoảng 11%, trong khi các loại hình tròn có tốc độ tăng đáng kể khoảng 47% và số lượt phân bổ giảm khoảng 39%. (I595d8)

Phiên bản 1.4.0-alpha13

Ngày 23 tháng 4 năm 2025

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

Thay đổi về API

  • isAppearanceLightStatusBarsisAppearanceLightNavigationBars được đưa trở lại ModalBottomSheetProperties dưới dạng các tham số chỉ dành cho Android. (Id4bc0)
  • Thêm một thành phần kết hợp AppBarRow, xử lý tình trạng tràn các mục sẽ nằm ngoài ranh giới của thành phần này. (I742bd)
  • Cập nhật API DatePickerDateRangePicker để yêu cầu tiêu điểm khi chuyển sang chế độ nhập ngày. Chúng tôi đã thay thế tham số boolean requestFocus bằng tham số focusRequester không bắt buộc lấy FocusRequester. (I14b69)
  • Xoá đối tượng sửa đổi và nguồn tương tác khỏi các mục có thể nhấp và có thể bật/tắt mặc định. Thay vào đó, hãy coi đây là một chi tiết triển khai. (I95ed6)
  • Cập nhật ButtonGroup để tràn vào một trình đơn thả xuống khi có quá nhiều nút không vừa màn hình. (I7b88b)

Sửa lỗi

  • BottomSheet hiện sử dụng phần lồng ghép trên cùng khi nhỏ hơn độ lệch hiện tại. Điều này cho phép người dùng cung cấp phần lồng ghép trên cùng cho hành vi mở rộng. BottomSheetDefaults.windowInsets hiện bao gồm WindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067)
  • Đã bật hiệu ứng chuyển động xuất hiện/biến mất (mờ dần/trượt) cho biểu tượng/hình đại diện đầu và biểu tượng cuối của Thành phần khi chúng được thêm hoặc xoá. Điều này chủ yếu mang lại lợi ích cho các Chip có thể chọn (Bộ lọc, Đầu vào) nhưng thường được áp dụng. (I9af21)
  • Khắc phục hành vi bị lỗi của Thanh trượt RTL do LookaheadScope gây ra. (Ieb152, b/408118041)
  • Khắc phục sự cố AppBar ở dưới cùng liên quan đến thao tác cuộn khi giao diện người dùng hệ thống bị ẩn. (Ic6140, b/405996228)

Phiên bản 1.4.0-alpha12

Ngày 9 tháng 4 năm 2025

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

Thay đổi về API

  • Xoá các tham số dành riêng cho Android khỏi ModalBottomSheetProperties (Iab97f, b/362539765)
  • Giới thiệu các hàm nạp chồng cho kích thước mặc định của tay cầm kéo (I0ed0d)
  • Thêm các hàm NavigationSuiteScaffoldNavigationSuiteScaffoldLayout mới để hỗ trợ các loại bố cục mới và thêm tính năng hỗ trợ cho nội dung hành động chính không bắt buộc. (Ib262a, b/353144478)
  • Không dùng Modifier.weight với tham số fill trong ButtonGroup nữa. Thêm phiên bản không có phần tô màu. (Id32bb)
  • Đổi tên xSmall-xLarge- thành phần IconButton theo mặc định để nêu rõ extra. (Ib6e0f)
  • Thêm các hàm NavigationSuite, NavigationSuiteItemNavigationSuiteColors mới để hỗ trợ các loại bố cục mới. (I203d6)
  • Thêm NavigationSuiteTypes mới và thêm hàm navigationSuiteType mới có các lựa chọn bố cục đó (If68f9)

Sửa lỗi

  • Giờ đây, ColorScheme.contentColorFor sẽ liên kết surfaceDim với onSurface. (I8891a)
  • Cập nhật việc triển khai DateInputTextField để giải quyết vấn đề về việc trường nhập liệu không phản ánh ngày được đặt theo chương trình. (I6c8d1, b/401143451)
  • Đã khắc phục thứ tự tiêu điểm của TalkBack cho dải điều hướng và dải điều hướng rộng (I6cf6f, b/407048224)

Phiên bản 1.4.0-alpha11

Ngày 26 tháng 3 năm 2025

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

Thay đổi về API

  • Cập nhật cách viết hoa cho các thuộc tính có thể kết hợp trong các đối tượng mặc định cho nút và nút bật/tắt. Thêm các phương thức trong ToggleButtonDefaultsButtonDefaults cho khoảng đệm nội dung, hình dạng, kích thước biểu tượng, khoảng cách biểu tượng và kiểu văn bản được đề xuất, tuỳ thuộc vào chiều cao của vùng chứa. (Iea69e)
  • Xoá các hàm và hằng số thử nghiệm không dùng nữa khỏi FloatingToolbar. (I8f339)
  • Các thành phần Độ cao hiện dùng chung một giao diện, đồng thời có các hàm khởi tạo và thuộc tính công khai. (Ibb172)
  • Thêm đối tượng sửa đổi animateWidth vào ButtonGroupScope. Đối tượng sửa đổi này sẽ cần được dùng với các thành phần con của nhóm nút để tạo ảnh động chính xác cho các thành phần con. (Ia3bb6)

Sửa lỗi

  • Cố định khoảng đệm của Thanh công cụ nổi để đảm bảo sự cân bằng về mặt hình ảnh trong quá trình thu gọn và cải thiện tính linh hoạt cho nội dung lớn hơn. (I06c00)

Phiên bản 1.4.0-alpha10

Ngày 12 tháng 3 năm 2025

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

Thay đổi về API

  • TabRowDefaults.tabIndicatorOffset đã ngừng hoạt động và được thay thế bằng TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Sửa lỗi chính tả cho khoảng đệm nội dung nhỏ trong các giá trị mặc định của nút. (I19bfe)
  • TabRowScrollableTabRow không được dùng nữa và được thay thế bằng các biến thể Chính và Phụ của từng biến thể. Các hàng thẻ chính và thẻ phụ hoạt động hiệu quả và chính xác hơn theo quy cách. (I918e2)
  • Thêm rememberSliderStaterememberRangeSliderState. (I8e384)
  • Đã thêm shouldAutoSnap vào SliderState để kiểm soát cơ chế tự động điều chỉnh, việc tắt cơ chế này có thể hữu ích cho các ảnh động tuỳ chỉnh. (I07745)
  • Chiều rộng tối thiểu của thẻ trong hàng thẻ có thể di chuyển hiện là một tham số. Các biến thể của hàng thẻ chính và thẻ phụ không còn là thử nghiệm nữa. (If6f15, b/226665301)
  • Đã công khai lớp ExitAlwaysFloatingToolbarScrollBehavior, cho phép tạo mà không cần kết hợp. (Ibf31c)

Phiên bản 1.4.0-alpha09

Ngày 26 tháng 2 năm 2025

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

Thay đổi về API

  • Đổi tên các trường cài đặt của DragHandle ở trạng thái mặc định; tách riêng trạng thái được nhấn và trạng thái được kéo; đặt kích thước mặc định ở chế độ công khai. (I787b9)
  • Nội dung cập nhật đối với API TowRowsTopAppBar. Xoá tham số lambda expanded và thêm các tham số riêng biệt cho chiều cao mở rộng và thu gọn. (Idd677, b/306697446, b/229134133, b/268068946)

Sửa lỗi

  • Thanh ứng dụng dưới cùng hiện tuân theo dịch vụ khám phá bằng cách chạm (ví dụ: TalkBack) và luôn hiển thị các biểu tượng này khi dịch vụ đang bật. (I4b34d)

Phiên bản 1.4.0-alpha08

Ngày 12 tháng 2 năm 2025

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

Tính năng mới

  • Thêm một API TimePickerDialog có thể dùng cho TimePicker, TimeInput hoặc để có một phiên bản có thể chuyển đổi. (Id2d83)

  • API thanh tìm kiếm mới:

    • Thanh tìm kiếm thu gọn và "khung hiển thị" tìm kiếm mở rộng hiện là các thành phần kết hợp riêng biệt.
    • SearchBar biểu thị một thanh tìm kiếm ở trạng thái thu gọn.
    • ExpandedFullScreenSearchBarExpandedDockedSearchBar biểu thị thanh tìm kiếm ở trạng thái mở rộng. Các trang này sẽ mở trong một cửa sổ mới.
    • SearchBarState để kiểm soát trạng thái của thanh tìm kiếm
    • TopSearchBar để thêm tính năng xử lý phần lồng ghép và hành vi cuộn
    • Quá tải mới của InputField sử dụng SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

Thay đổi về API

  • Hỗ trợ biến đổi hình dạng góc của các nút biểu tượng khi nhấn. (I21843)
  • Các API hộp trang trí/trang trí của trường văn bản không còn ở trạng thái thử nghiệm nữa. (I31d95)
  • Thêm các mẫu và giá trị mặc định cho biến thể đã kết nối của ButtonGroup. (I5c8ce)
  • Đặt tham số trạng thái là tham số cuối cùng trong NavigationSuiteScaffoldNavigationSuiteScaffoldLayout. (I9cc7b)

Sửa lỗi

  • Thêm các thao tác hỗ trợ tiếp cận tuỳ chỉnh vào FloatingToolbars để các dịch vụ hỗ trợ tiếp cận hiện có thể mở rộng hoặc thu gọn tất cả các biến thể FloatingToolbar. Phiên bản có FAB sẽ áp dụng điều này cho FAB, còn phiên bản không có FAB sẽ áp dụng cho nội dung chính. (I26420)
  • FloatingToolbars hiện quan sát dịch vụ khám phá bằng thao tác chạm (ví dụ: TalkBack) và luôn giữ cho thanh công cụ ở trạng thái mở rộng và hiển thị bất cứ khi nào dịch vụ này bật. (I02172)
  • Khắc phục sự cố tại chỉ báo tiến trình và chỉ báo tải trong trường hợp Float.NaN được truyền vào dưới dạng tiến trình. (I4fa96, b/352364576)

Phiên bản 1.4.0-alpha07

Ngày 29 tháng 1 năm 2025

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

Tính năng mới

  • Thêm tính linh hoạt khi tuỳ chỉnh giao diện của Hộp đánh dấu bằng một API mới. API này cung cấp các tham số Nét vẽ giúp bạn kiểm soát tốt hơn cách hiển thị dấu đánh dấu và đường viền hộp đánh dấu. (I65a88)
  • Thêm API TwoRowsTopAppBar, một lựa chọn thay thế có thể tuỳ chỉnh hơn cho thanh ứng dụng cỡ vừa và lớn để tạo thanh ứng dụng trên cùng có hai hàng. Giờ đây, nhà phát triển có thể kiểm soát nội dung của tiêu đề và phụ đề ở cả trạng thái thu gọn và mở rộng, với chiều cao có thể tuỳ chỉnh cho từng trạng thái. (I0be3c, b/306697446, b/229134133, b/268068946)

Thay đổi về API

  • Đổi tên một biến thể BottomAppBar thử nghiệm thành FlexibleBottomAppBar, giúp bạn có nhiều quyền kiểm soát hơn đối với cách sắp xếp và chiều cao của nội dung. (Iaa448)
  • Cập nhật cách đặt tên cho các thuộc tính trong đối tượng mặc định của Nhóm nút thành CapitalCase. Cập nhật tên của animateFraction để chính xác hơn với hành vi mà tên này đại diện. (I545cd)
  • Thêm các phương thức nạp chồng cho các nút phổ biến cho phép hình dạng động khi tương tác nhấn. Đã thêm các hình dạng nút được lưu vào bộ nhớ đệm. (I5ec20)
  • Giờ đây, bạn có thể kiểm soát cách FloatingToolbar có FAB phản ứng với thao tác cuộn bằng cách cung cấp một FloatingToolbarScrollBehavior. Đối với những thanh công cụ nằm dọc theo một cạnh ở giữa (chẳng hạn như ở giữa trên cùng hoặc ở giữa dưới cùng), bạn nên sử dụng một hành vi cuộn để ẩn toàn bộ thành phần khi cuộn nhằm có giao diện gọn gàng hơn. Điều này cũng ngăn FAB bị lệch tâm, có thể xảy ra khi dùng cờ expanded để thu gọn. (I33f67)
  • Cập nhật các API TopAppBar thử nghiệm để sử dụng Alignment.Horizontal thay vì TopAppBarTitleAlignment tuỳ chỉnh khi đặt căn chỉnh cho tiêu đề và tiêu đề phụ. (I70ca2)
  • SliderState#onValueChange hiện là công khai để trao thêm quyền kiểm soát cho người dùng (I104eb)
  • Giới thiệu NavigationSuiteScaffoldState để cho phép tạo ảnh động cho thành phần điều hướng. Ngoài ra, hãy giới thiệu các phương thức nạp chồng của NavigationSuiteScaffoldNavigationSuiteScaffoldLayout có tham số trạng thái. (I6a8c9, b/328674235)

Sửa lỗi

  • Di chuyển các lớp IconButtonColorsIconToggleButtonColors từ IconButtonDefaults.kt trở lại IconButton.kt. (I3c233)

Đóng góp bên ngoài

  • SliderState#isDragging hiện ở chế độ công khai. (I8458a)

Phiên bản 1.4.0-alpha06

Ngày 15 tháng 1 năm 2025

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

Thay đổi về hành vi

  • Đã thêm displayCutout vào nhóm phần lồng ghép mà các thành phần Material tính đến theo mặc định, để tránh nội dung trùng lặp với vết cắt trên màn hình. Đây là một thay đổi về hành vi sẽ ảnh hưởng đến cách các thành phần nhận biết phần lồng ghép hoạt động xung quanh vết cắt trên màn hình. Trong đó có giá trị mặc định của tham số WindowInsets cho các thành phần Material 3 có nhận biết phần lồng ghép và các giá trị WindowInsets được cung cấp trong các đối tượng Mặc định của thành phần cho cả Material 2 và Material 3. Nếu thay đổi này gây ra hành vi không mong muốn, hãy chỉ định tham số WindowInsets theo cách thủ công trên cơ sở từng thành phần. (I43ee9, b/362508045)

Thay đổi về API

  • Nội dung cập nhật đối với API TopAppBar. Đổi tên thanh ứng dụng trên cùng cỡ vừa và lớn có phụ đề thành *FlexibleTopAppBar. Hợp nhất các biến thể màu thành một hàm TopAppBarDefault.topAppBarColors() duy nhất và thêm tham số màu subtitle để áp dụng cho một Thành phần kết hợp phụ đề được cung cấp (I41b65)
  • Xoá API WideNavigationRailArrangement để chuyển sang dùng Arrangement.Vertical (Id0341)
  • Thêm VerticalSlider @Composable mới. (I2bfba)
  • Thêm một Track @Composable mới cho phép chỉ định các góc đường đua bên ngoài tuỳ chỉnh và biểu tượng đường đua. (I436a4)
  • Cập nhật các API thanh công cụ nổi để sử dụng đối tượng FloatingToolbarColors thay vì một màu vùng chứa duy nhất. (I9a054)
  • Thêm và sử dụng chú thích thử nghiệm mới ExperimentalMaterial3ComponentOverrideApi (Ia1eaf)
  • Modifier.indicatorLine hiện lấy một hình dạng cho trường văn bản để xử lý việc cắt. (I8c5f3, b/380704151)
  • Đổi tên các hàm FloatingAppBar thử nghiệm thành FloatingToolbar (I1dbf8)
  • Thêm một floatingToolbarVerticalNestedScroll mới có thể được đính kèm vào một vùng chứa có thể cuộn để cập nhật trạng thái mở rộng của thanh công cụ nổi dựa trên một thao tác cuộn vượt quá ngưỡng. (I6d65f)
  • Giới thiệu một API mới để tạo thanh công cụ nổi có Nút hành động nổi (FAB) được đính kèm. API này cung cấp các lựa chọn tuỳ chỉnh linh hoạt, cho phép bạn sắp xếp thanh công cụ theo chiều ngang hoặc chiều dọc và đặt FAB ở đầu hoặc cuối thanh công cụ. (I9e350)

Sửa lỗi

  • Khắc phục vấn đề về khả năng tiếp cận của Snackbar khiến Snackbar tự thông báo khi bị đóng nếu TalkBack đang bật. (/I9db53)

Đóng góp bên ngoài

  • Chuẩn hoá BasicTooltip trong nền tảng và BasicTooltip/Tooltip trong material3. (Ifc2e6)

Phiên bản 1.4.0-alpha05

Ngày 12 tháng 12 năm 2024

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

Thay đổi về API

  • Thay thế loại trong giá trị WideNavigationRailState.current/target cho một enum để dễ đọc hơn (I2d6ab)
  • SplitButton thay đổi Shape API từ lớp dữ liệu thành lớp để tương thích với tệp nhị phân. (I53812)
  • Thêm một API chú thích có tham số onDismissRequest để nhà sản xuất có thể quyết định điều gì sẽ xảy ra khi người dùng nhấp vào bên ngoài chú thích. Ngừng sử dụng API cũ không chứa tham số mới này. (I99aef)
  • Thay đổi tên của opticalCentering thành horizontalCenterOptically. Đưa đối tượng sửa đổi thành đối tượng nội bộ. Thay thế tham số khoảng đệm bằng độ lệch tối đa ở điểm bắt đầu và điểm kết thúc. (I0b904)
  • Thay đổi WideNavigationRailState để có giá trị hiện tại/mục tiêu, xoá các giá trị enum để chuyển sang giá trị boolean. (Idfa29, b/356039090)
  • Thêm NavigationBarItemComponentOverride. (I3a06a)

Sửa lỗi

  • Khắc phục hành vi của thanh ứng dụng trên cùng và dưới cùng để thay đổi màu sắc một cách đáng tin cậy khi nội dung được cuộn hết cỡ. (Idc4e8, b/293665988)
  • Các hàm hành vi cuộn cho thanh ứng dụng trên cùng và dưới cùng hiện trả về một hành vi đã ghi nhớ để hoạt động hiệu quả hơn trên các thành phần kết hợp lại. (I0fdbe, b/207957336)
  • Tham số của đối tượng sửa đổi hiện được áp dụng sau các đối tượng sửa đổi nội bộ (chẳng hạn như hành vi kéo và ngữ nghĩa), thay vì trước đó. Điều này ảnh hưởng đến thứ tự áp dụng các công cụ sửa đổi. (I8d83f)
  • Bảng dưới cùng đã mở rộng vẫn ở trạng thái mở rộng khi kích thước thay đổi. (I2870b, b/324934884)
  • Định tuyến chính xác các cờ thanh trạng thái và thanh điều hướng cho các thuộc tính cửa sổ. (Ie674d, b/362539765)
  • Di chuyển tham số đối tượng sửa đổi đến gốc của giàn giáo, như được ghi lại. Điều này giúp việc triển khai phù hợp với M2. (I0235e, b/372311595)

Đóng góp bên ngoài

  • Hàm DatePickerDialog được chuẩn hoá. (I7dced)

Phiên bản 1.4.0-alpha04

Ngày 13 tháng 11 năm 2024

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

Thay đổi về hành vi

  • Hoàn nguyên các thay đổi về màu sắc được giới thiệu trong aosp/3212478 thành iconButtonColors, iconToggleButtonColors, outlinedIconButtonColors, outlinedIconToggleButtonColorsoutlinedIconToggleButtonBorder. Di chuyển hành vi hiện đã được hoàn nguyên vào một nhóm hàm mới có tên là iconButtonVibrantColors, v.v. để nhấn mạnh các màu có độ tương phản cao được trả về. (Iffd8d)

Tính năng mới

  • Giới thiệu thành phần VerticalDragHandle (I6c770)

Thay đổi về API

  • Đổi tên DismissibleModalWideNavigationRailDefaults thành ModalWideNavigationRailDefaults. (I8e877)
  • Thêm NavigationBarComponentOverrides. (I8a3f3)
  • Thêm NavigationRailComponentOverride. (I83e13)
  • Giới thiệu WideNavigationRailState để xử lý việc thu gọn/mở rộng thanh bên, cho phép ModalWideNavigationRail có thể đóng và xoá DismissibleModalWideNavigationRail. (I88568)
  • Thêm các kích thước mặc định xSmall, medium, large và xLarge vào các kích thước mặc định của nút bật/tắt. (Ie95d1)
  • Thêm các kích thước mặc định xSmall, medium, large và xLarge vào các kích thước mặc định của nút. (If8b6d)

Sửa lỗi

  • Màu biểu tượng ở cuối khối lọc đã được cập nhật từ Màu chính thành OnSurfaceContainer theo quy cách. Tất cả màu đường viền của khối lọc đã được cập nhật từ Đường viền thành Biến thể đường viền theo quy cách. (I68bd4)

Phiên bản 1.4.0-alpha03

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

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

Thay đổi về API

  • Ngừng sử dụng hàm khởi tạo SheetState có mật độ để chuyển sang ngưỡng vị trí và vận tốc. (Ifd16e)
  • Đã thêm rememberTooltipPositionProvider chứa logic định vị được cập nhật. Không dùng rememberPlainTooltipPositionProviderrememberRichTooltipPositionProvider nữa. (Ie66e2)
  • ModalBottomSheetProperties bổ sung cho phép tuỳ chỉnh màu thanh trạng thái và thanh điều hướng. Theo mặc định, các thành phần này sẽ cập nhật dựa trên màu nội dung thay vì trạng thái giao diện tối của hệ thống. (Ib874e, b/362539765)
  • Cải thiện trải nghiệm nhập dữ liệu cho bộ chọn ngày: khi ở chế độ nhập dữ liệu, trường văn bản ngày sẽ được lấy tiêu điểm để nhập văn bản ngay lập tức. Thay đổi này sẽ thêm tham số requestFocus vào DatePickerDateRangePicker. Bạn có thể ngăn tiêu điểm bằng cách truyền false. (I12d09, b/286399710, b/340102743)
  • Lưu các chế độ mặc định của hình dạng vào bộ nhớ đệm trong đối tượng Shape. Đặt hình dạng mặc định @Composable cho nút bật/tắt. Thu gọn các hình thành một hình mặc định vì các biến thể trỏ đến cùng một tệp mã thông báo. (Iaa014)

Sửa lỗi

  • Tối ưu hoá hành vi của Scaffold contentPadding để tránh luôn kết hợp lại nội dung chính khi contentPadding thay đổi. (I8c8e2, b/373904168)
  • TextFieldLabelScope progress đổi tên thành labelMinimizedProgress
  • Đổi tên TextFieldLabelPosition Default thành Attached. Đã xoá các thành viên giao diện. (If75c6)
  • Khắc phục vấn đề với DatePicker ở chế độ nhập, trong đó lỗi xác thực có thể khiến chiều cao của thành phần thay đổi. (I2e229, b/280462363)
  • Khiến Thanh trượt của Material thay đổi giá trị khi nhấn các phím điều khiển. (I1c442)

Phiên bản 1.4.0-alpha02

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

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

Thay đổi về API

  • Cập nhật bộ chọn ngày để đảm bảo sử dụng Ngôn ngữ nhất quán trong suốt DatePickerDateRangePicker khi đặt Ngôn ngữ trực tiếp thông qua DatePickerState hoặc DateRangePickerState. Xin lưu ý rằng khi đặt trực tiếp Ngôn ngữ cho trạng thái, bạn phải đảm bảo rằng văn bản tiêu đề và tiêu đề được bản địa hoá cho phù hợp, vì văn bản mặc định của chúng vẫn sẽ được áp dụng theo Ngôn ngữ mặc định của nền tảng. (I37073, b/326490763, b/321657276)
  • SheetState.isAnimationRunning hiện đã được hiển thị. (I9a3d7)
  • DatePickerColors hiện được ưu tiên hơn mọi màu xung đột được xác định ở kiểu văn bản Typography của giao diện. Cũng lưu ý rằng bản cập nhật này điều chỉnh vị trí của tham số color trong các hàm của bộ chọn ngày và giới thiệu tham số contentColor để tuỳ chỉnh màu văn bản tiêu đề và tiêu đề. (I30d03, b/347031394)
  • Đổi tên SplitButton thành SplitButtonLayout và xoá các API biến thể màu SplitButton, các biến thể sẽ đạt được bằng cách sử dụng lại các biến thể nút do SplitButtonDefaults cung cấp. (I44c36)
  • ModalBottomSheet hiện có tham số sheetGestureEnabled (I856cb, b/288211587)
  • Đổi tên standardMotionSchemeexpressiveMotionScheme thành chuẩn và biểu cảm. Giờ đây, bạn có thể truy cập vào cả hai hàm này thông qua đối tượng đồng hành MotionScheme bằng cách gọi MotionScheme.standard()MotionScheme.expressive(). (Iceccf)
  • Thêm tham số maxWidth vào chú thích thông thường và chú thích nhiều định dạng. Theo mặc định, kích thước này là 200 dp cho chú thích đơn giản và 320 dp cho chú thích chi tiết. (I30ce9)

Sửa lỗi

  • DatePickerDateRangePicker hiện cập nhật chính xác tháng hiển thị khi được đặt thông qua displayedMonthMillis của trạng thái. (If9e47, b/333414302)
  • Nội dung ModalBottomSheet hiện di chuyển nội dung ra khỏi thanh trạng thái. (I5114c, b/321877275, b/336962418, b/342093067)
  • [Trang tính dưới cùng] Thay đổi mức độ ưu tiên của lệnh gọi lại thành PRIORITY_DEFAULT để cho phép bàn phím IME đóng trước. (I447fb)
  • Khắc phục sự cố trong DatePickerDateRangePicker khi năm tối thiểu có thể chọn được đặt thành một năm trong tương lai. (I78656, b/319395747)
  • Khắc phục vấn đề về bộ chọn ngày để cập nhật giao diện người dùng khi áp dụng một thực thể SelectableDates đã cập nhật. (Iad59a, b/290135807, b/339898760)

Phiên bản 1.4.0-alpha01

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

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

Thay đổi về hành vi

  • Thư viện không còn thêm phần phụ thuộc vào material-icons-core nữa, vì vậy, nếu dự án của bạn phụ thuộc vào phần phụ thuộc đó, bạn sẽ phải thêm phần phụ thuộc đó một cách rõ ràng trong các tệp build.gradle[.kts]. (I735ff, b/349894318)
  • Màu nhãn đang hoạt động của NavigationBarItemNavigationRailItem thay đổi từ onSurface thành secondary để cải thiện khả năng sử dụng, độ tương phản màu sắc và cải thiện tính nhất quán trong hệ thống (Ibc297), để quay lại hành vi trước đó, hãy sao chép màu mặc định và thay đổi selectedTextColor thành MaterialTheme.colorScheme.onSurface.
  • Các thành phần trong Material 3 hiện đang sử dụng MotionScheme mới để xác định chuyển động của chúng. (Ie0f93)
  • Các thay đổi về chuyển động của Chỉ báo tiến trình dạng xoay tròn không xác định (I3c07e)
  • Cập nhật OutlinedIconButtonColorsOutlinedIconToggleButtonColors để tăng độ tương phản về màu sắc. (I2743d)
  • Đã cập nhật màu vùng chứa và nội dung cho FilledIconToggleButtonColorsFilledTonalIconToggleButtonColors. (Ic5d0f)
  • Đã cập nhật màu đường viền OutlinedButton từ outline thành outlineVariant. (057f00)

Thay đổi về API

  • Thêm tham số reverseLayout không bắt buộc vào hàm enterAlwaysScrollBehavior của TopAppBar để hỗ trợ tốt hơn nội dung được đặt bằng reverseLayout. (I4e0e5)
  • SegmentedButton hiện hỗ trợ đối số contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState không còn có chế độ triển khai mặc định cho isAnimating (I6a593)
  • Thêm các phương thức nạp chồng mới của TextFieldOutlinedTextField trong Material sử dụng TextFieldState. Thêm các API hộp trang trí tương thích với TextFieldDecorator. (If13a1)
  • Thêm tham số để kiểm soát labelPosition của trường văn bản. Việc sử dụng alwaysMinimize cho phép mẫu giao diện người dùng hiển thị nhãn và phần giữ chỗ trong một trường văn bản cùng lúc ngay cả khi trường này không được lấy tiêu điểm. (I1ef2c)
  • Thêm SecureTextFieldOutlinedSecureTextField Material cho các trường nhập mật khẩu. (I7e22d)
  • Đã thêm một phạm vi vào nhãn trường văn bản để truy vấn tiến trình của ảnh động. (If5ec8)
  • Thêm tính năng hỗ trợ cho MotionEvent.CLASSIFICATION_DEEP_PRESS vào chú giải công cụ. (I62e6a)
  • isAfternoon của TimePickerState hiện là một giá trị mở rộng thay vì một biến trong giao diện, được đổi tên thành isPm (I89a97)
  • Cập nhật lớp kiểu chữ để hỗ trợ các tỷ lệ kiểu chữ được nhấn mạnh. (Ifa13c)
  • Thêm API ModalWideNavigationRail và đổi tên các API ModalExpandedNavigationRail thành DismissibleModalWideNavigationRail. (Ic9118)
  • Cập nhật FloatingAppBarScrollBehavior để tự động tính screenOffset và không yêu cầu @Composable. (Idf349)
  • Cập nhật API LoadingIndicator để sửa đổi tên tại đối tượng mặc định của API. Thêm hằng số LoadingIndicatorElevation vào PullToRefresh. (I1d72b)
  • Cập nhật API LoadingIndicator để sửa đổi tên tại đối tượng mặc định của API. Thêm hằng số LoadingIndicatorElevation vào PullToRefresh. (I1d72b)
  • Thêm tham số amplitudewaveSpeed vào các biến thể không xác định của LinearWavyProgressIndicatorCircularWavyProgressIndicator. (I2a0c5)
  • Hỗ trợ thay đổi hình dạng của nút bật/tắt biểu tượng dựa trên trạng thái được nhấn hoặc được đánh dấu. (Ibc781)
  • Cập nhật lớp kiểu chữ để hỗ trợ các tỷ lệ kiểu chữ được nhấn mạnh. (Ifa13c)
  • Hình dạng SplitButton biến đổi dựa trên trạng thái mặc định / được nhấn. Xoá API AnimatedTrailingButton vì API TrailingButton có thể cung cấp các chế độ tuỳ chỉnh tương tự (I95066)
  • Thêm đối tượng sửa đổi để tạo hiệu ứng cho việc hiện và ẩn FAB, chẳng hạn như khi nội dung cuộn. (I8338d)
  • Thêm các hình dạng và khoảng cách của nhóm nút được kết nối vào ButtonGroupDefaults để sử dụng trong mẫu. (I68e30)
  • Nút phân chia thêm khoảng đệm ngang cho nút cuối và cho phép tính năng căn giữa trực quan được tính từ sự khác biệt giữa góc bắt đầu và góc kết thúc (I122e2)
  • Ra mắt MotionScheme Material mới để cho phép đặt một lược đồ cho chuyển động của thành phần. Lược đồ được đặt thông qua MaterialTheme. (Id50c2)

Sửa lỗi

  • Áp dụng chỉ mục di chuyển tiêu điểm chính xác cho các thành phần kết hợp con Scaffold. Thứ tự là topBar, bottomBar, fab, content, snackbar. (I5936b)
  • Khắc phục vấn đề tại DatePickerDateRangePicker, trong đó một số phần tử ngày (ví dụ: tên tháng) không bắt đầu bằng chữ cái viết hoa ở một số ngôn ngữ và cấu trúc định dạng. (I1430f)
  • Tích hợp mã thông báo thành phần FAB và FAB Menu (cập nhật nhỏ về hình ảnh đối với khoảng đệm và văn bản) (Ib57f3)
  • ModalBottomSheet hiện là phần tử đầu tiên theo thứ tự di chuyển ngữ nghĩa, tiếp theo là lớp phủ. (I436f9, b/358594665)
  • Khắc phục lỗi thanh ứng dụng dưới cùng không biến mất hoàn toàn khi cuộn trong nút điều hướng ở chế độ tràn viền (I3ee21)

Compose Material3 Phiên bản 1.3

Phiên bản 1.3.2

Ngày 9 tháng 4 năm 2025

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

Sửa lỗi

  • ListItem điều chỉnh cách tính chiều cao nội tại, hiện tại sẽ dành ra lượng không gian phù hợp trong bố cục.
  • Xoá khoảng đệm nhãn NavigationBarItem dư thừa, căn chỉnh chính xác theo quy cách.
  • Sửa bố cục TabRow ở chế độ RTL.

Phiên bản 1.3.1

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

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

Sửa lỗi

  • DatePickerDateRangePicker hiện cập nhật chính xác tháng hiển thị khi được đặt thông qua displayedMonthMillis của trạng thái. (If9e47, b/333414302)
  • Khắc phục sự cố trong DatePickerDateRangePicker khi năm tối thiểu có thể chọn được đặt thành một năm trong tương lai. (I78656, b/319395747)
  • Khắc phục vấn đề về bộ chọn ngày để cập nhật giao diện người dùng khi áp dụng một thực thể SelectableDates đã cập nhật. (Iad59a, b/290135807, b/339898760)
  • Thay đổi mức độ ưu tiên của lệnh gọi lại khi thay đổi trạng thái thành PRIORITY_DEFAULT để cho phép bàn phím IME đóng trước. (I447fb)

Phiên bản 1.3.0

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

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

Những thay đổi quan trọng kể từ phiên bản 1.2.0

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

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

  • Băng chuyền
  • [ModalBottomSheet] hiện hỗ trợ thao tác Xem trước khi quay lại trên U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] hiện hỗ trợ tính năng Xem trước thao tác quay lại trên U trở lên (I657f8)
  • Ngăn điều hướng (ModalDrawerSheetDismissibleDrawerSheet) hiện hỗ trợ tính năng Xem trước thao tác quay lại trên U+ dưới dạng lựa chọn không bắt buộc (Ie5b0b)
  • DropdownMenu hiện hỗ trợ màu sắc, hình dạng, độ nâng và đường viền tuỳ chỉnh. (I8e981,b/289554448, b/301887035, b/283654243)
  • Cập nhật Thanh trượt để cải thiện khả năng hỗ trợ 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 khoảng trống và chỉ báo dừng. (I21451)
  • Thêm dấu nháy mặc định cho chú thích dạng thức, hỗ trợ vẽ dấu nháy tuỳ chỉnh dựa trên phần tử liên kết LayoutCoordinates. (Ifd42c) Thay đổi có thể gây lỗi
  • 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 nhau khỏi PullToRefreshState. Yêu cầu này sẽ được xử lý bằng PullToRefreshBox hoặc Modifier.pullToRefresh mới.
    • 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 đây. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Thay đổi mang tính đột phá về hình ảnh
  • Cập nhật lớp phủ trạng thái tiêu điểm thành 0,1f để đảm bảo độ tương phản màu vừa đủ. (I7ea77)
  • Điều chỉnh nhỏ đối với màu mặc định của vùng hiển thị và nền trong lightColorSchemedarkColorScheme. (I9db52)
  • Cập nhật màu của Thanh trượt và ProgressIndicator để tuân theo quy cách mới về độ tương phản không phải văn bản. (I26807)
  • Các thành phần hiện đang dùng SurfaceContainer biến thể. Các thành phần chính thức tính toán màu bằng SurfaceTonalElevation hiện sử dụng các vai trò SurfaceContainer theo mặc định, không bị ảnh hưởng bởi độ nâng tông màu. (b/304584161)
  • Các vai trò cơ bản của Vùng chứa và Vùng chứa đã được điều chỉnh một chút, mang đến nhiều sắc độ hơn trong giao diện sáng và tối. (I677a5)
  • Đã chuyển các API thử nghiệm sang phiên bản ổn định!
  • Cải thiện hiệu suất

Phiên bản 1.3.0-rc01

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

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

Sửa lỗi

  • ModalBottomSheet hiện là phần tử đầu tiên theo thứ tự di chuyển ngữ nghĩa, tiếp theo là lớp phủ. (I436f9, b/358594665)

Phiên bản 1.3.0-beta05

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

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

  • Khắc phục vấn đề nội dung BottomSheet bị thiếu hoặc bị cắt trên Android N và O (a10a2d)
  • Tăng ranh giới ngữ nghĩa của thanh trượt để TalkBack hiện đúng các chỉ báo tiêu điểm xung quanh các ngón tay cái. (0b5a1d)

Phiên bản 1.3.0-beta04

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

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

Phiên bản 1.3.0-beta03

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

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

Đóng góp bên ngoài

  • Cung cấp androidx.compose.material3.DropdownMenu từ nhóm tài nguyên phổ biến. (If62c0)

Phiên bản 1.3.0-beta02

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

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

Thay đổi về API

  • Modifier.pullToRefreshIndicator hỗ trợ độ cao, cập nhật API Kéo để làm mới để bật thành một boolean thay vì một biểu thức lambda. Hỗ trợ căn chỉnh nội dung trong PullToRefreshBox (I75679)
  • Tạo TooltipScope thành một giao diện khép kín và tạo một quy trình triển khai nội bộ để sử dụng trong TooltipBox và Nhãn. (I3833e)
  • Đã thêm 2 đối tượng sửa đổi mới vào CarouselItemScopemaskClipmaskBorder – để dễ dàng thêm hình dạng và đường viền vào bất kỳ mục nào trong băng chuyền (Id67a1)
  • TimePickerState hiện là một giao diện và cho phép đặt thời gian (I88546)
  • Cập nhật API để tạo kiểu cho các đường liên kết: di chuyển TextLinkStyles sang TextStyle và xoá TextDefaults khỏi material. (I5477b)

Sửa lỗi

  • Giờ đây, các biểu tượng thanh trạng thái và thanh điều hướng ModalBottomSheet sẽ phản hồi trạng thái giao diện tối. (Ie1fe7, b/338342149)
  • Thêm ngữ nghĩa đóng trang tính vào lớp phủ ModalBottomSheet. (0e61cb,b/328801864)

Đóng góp bên ngoài

  • Cung cấp androidx.compose.material3.AlertDialog từ nhóm tài nguyên chung (Ia33f5)
  • Cung cấp ModalBottomSheet từ nhóm tài nguyên chung (Id7cc7)

Phiên bản 1.3.0-beta01

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

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

Thay đổi về API

  • Sử dụng DpSize thay vì CaretProperties. Đang xoá CaretProperties. Đổi tên CaretScope thành TooltipScope. (Id9a76)
  • Cập nhật API để lấy các đường liên kết theo chủ đề Material trong văn bản. Cụ thể, đã xoá các phương thức khỏi TextDefaults để tạo LinkAnnotations theo chủ đề và phân tích cú pháp HTML bằng các đường liên kết theo chủ đề. Thay vào đó, hãy thêm một lớp TextLinkStyles cho phép tạo kiểu cho các đường liên kết dưới dạng tham số cho thành phần kết hợp Văn bản. (I31b93)

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

  • API mới cho thao tác kéo để làm 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 nhau khỏi PullToRefreshState. Yêu cầu này sẽ được xử lý bằng PullToRefreshBox hoặc Modifier.pullToRefresh mới.
    • 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 đây. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)

Thay đổi về API

  • RippleConfiguration#isEnabled đã bị xoá và LocalRippleConfiguration đã được đặt 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ẽ lớp phủ chính xác hơn lên thanh trạng thái khi chế độ hiển thị tràn viền được bật. Nội dung của bảng dưới cùng phương thức hiện có thể sử dụng phần lồng ghép cửa sổ, cho phép nội dung hiển thị phía trên thanh điều hướng. Tham số ModalBottomSheet windowInsets được đổi tên thành contentWindowInsets để chỉ định vị trí áp dụng phần lồng ghép. Các tham số 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 một hàm trả về WindowInsets để cho phép hàm này được phân giải 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ẽ giúp cải thiện hiệu suất. (I991e0)
  • Liên kết văn bản có thêm lựa chọn định kiểu trạng thái được nhấn ngoài kiểu thông thường, kiểu di chuột và kiểu được lấy tiêu điểm. Mỗi phương thức TextDefaults đều có một đối số pressedStyle để hỗ trợ việc này. (Ic473f, b/139312671)

Sửa lỗi

  • Các điểm neo kéo của 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 cho nhãn hiện tính đến cỡ chữ hệ thống. (Idc781)
  • Đã sửa vị trí gói hàng 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 (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 lấy tham số trường văn bản. Điều này cho phép bạn 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ư truyề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 các dấu đánh dấu nếu cần (I0c048)

Thay đổi về API

  • Các đường liên kết dạng văn bản có thêm lựa chọn tạo kiểu cho trạng thái được nhấn ngoài kiểu thông thường, kiểu khi di chuột và kiểu khi lấy tiêu điểm (I5f864, b/139312671)
  • Cập nhật CarouselItemInfo để hiển thị một Rect mặt nạ mà mục đang bị cắt (I785d8)
  • Xoá BasicTooltipState khỏi API công khai của Material 3. Chức năng của TooltipState được kết hợp với TooltipState cho đến khi BasicTooltip của Foundation ổn định. (Icda29)
  • Đã thêm một đố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 áp dụng MaterialTheme cho các đường liên kết (I98532, b/139312671)
  • ExposedDropdownMenuBoxScope không còn cho phép các lớp con. Trình đơn thả xuống hiện có một MenuAnchorType sẽ được truyền đến menuAnchor để hỗ trợ a11y tốt hơn. Bạn nên sử dụng phương thức này thay vì truyền focusable đến ExposedDropdownMenu (hiện không được 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 bị vô hiệu hoá. Thêm phương thức nạp chồng 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 các ứng dụng nhận thông tin về kích thước của mục. (I9070c)
  • Ngừng sử dụng hàm khởi tạo ColorScheme không có vùng chứa bề mặt. Vui lòng di chuyển sang hàm khởi tạo có chứa vùng chứa nền tảng. (I35c11)
  • [Có vẽ đường viền]TextFieldDefaults ContainerBox đổi tên thành Container. (Ie8d3b)

Sửa lỗi

  • BottomSheetScaffold sẽ không còn cuộn từ chế độ cuộn lồng nhau nếu sheetSwipeEnabled là false. (I5e1c1, b/306464779)
  • Xoá một số chú giải ExperimentalMaterial3Api OptIn 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 2 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+ dưới dạng lựa chọn sử dụng (Ie5b0b)
  • Thêm một API mới vào Biểu tượng để cho phép truyền màu phủ dưới dạng lambda nhằm tránh kết hợp lại. (I5b5a2)
  • Các API thanh ứng dụng trên cùng 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)

Thay đổi về API

  • Các API thanh ứng dụng trên cùng 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 một vấn đề khiến thanh ứng dụng trên cùng một dòng kết hợp lại quá nhiều lần khi nội dung cuộn. Khắc phục vấn đề MediumTopAppBar cắt bớt tiêu đề trên các thiết bị có chế độ cài đặt phông chữ/màn hình 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 đi kèm CarouselState của Băng chuyền. (I94154)
  • Ngừng sử dụng LocalMinimumInteractiveComponentEnforcement và giới thiệu LocalMinimumInteractiveComponentSize để thay thế. (I7a7ac)
  • Hàm khởi tạo SearchBarColors hiện ở 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à 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 về hình ảnh

  • Cập nhật lớp phủ trạng thái tiêu điểm thành 0,1f để đảm bảo độ tương phản màu vừa đủ. (I7ea77)
  • Điều chỉnh nhỏ đối với màu mặc định của vùng hiển thị và nền trong lightColorSchemedarkColorScheme. (I9db52)

Tính năng mới

  • Đã thêm các thông số để tuỳ chỉnh ExposedDropdownMenu. Cụ thể, các trình đơn hiện có một tham số focusable (mặc định là true) mà bạn nên đặ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)

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. Hành vi này sẽ không thay đổi, ngoại trừ việc các trình đơn có thể lấy làm tâm điểm có trường văn bản có thể chỉnh sửa có thể bị đóng khi bạn nhập trên bàn phím.

Sửa lỗi

  • Các vai trò cơ bản của Vùng chứa và Vùng chứa đã được điều chỉnh một chút, mang đến nhiều sắc độ hơn trong giao diện sáng và tối. (I677a5)
  • Cập nhật màu của Thanh trượt và ProgressIndicator để tuân theo quy cách mới về độ tương phản không phải văn bản. (I26807)
  • Cập nhật lớp phủ trạng thái tiêu điểm thành 0,1f để đảm bảo độ tương phản màu vừa đủ. (I7ea77)
  • Điều chỉnh nhỏ đối với màu mặc định của vùng hiển thị và 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.

Thay đổi về API

  • Giúp các trạng thái của thanh trượt ổn định trở lại. Đang đặt State.onValueChangeFinished thành val. Gói onValueChangeFinished trong rememberUpdatedState. (I82ab2, b/322269951)
  • Các thành phần Điều hướng hiện sử dụng các vai trò SurfaceContainer mới. DrawerDefaults hiện cung cấp các thuộc tính riêng biệt standardContainerColormodalContainerColor. DrawerDefaults.ModalDrawerElevation nay là 0.dp. (I7fbac)
  • Xoá @Stable khỏi trạng thái của Slider vì chúng ta đang 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 lò xo. Điều này giải quyết vấn đề về hiện tượng vượt quá mức có thể nhìn thấy. Các hàm khởi tạo SheetState không có mật độ đã ngừng hoạt động hiện đã bị xoá. (I7babc, b/285847707)

Sửa lỗi

  • Các thành phần hiện đang dùng SurfaceContainer biến thể. Các thành phần chính thức tính toán màu bằng Surface và TonalElevation hiện sử dụng các vai trò SurfaceContainer theo mặc định, không bị ảnh hưởng bởi độ cao của sắc độ. (b/304584161)
  • Đã sửa lỗi khiến màu vùng chứa không được chọn và bị vô hiệu hoá của ElevatedFilterChip có 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ề SliderRangeSlider trên bố cục RTL (Iab0e1)
  • Thêm SliderRangeTolerance để tính toán phạm vi thanh trượt vì việc làm tròn số thực 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 một 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 cho màu vùng chứa. MenuDefaults.TonalElevation nay là 0.dp. (I135b7)
  • TextField hiện tận dụng vai trò SurfaceContainerHighest cho màu vùng chứa. (I4dced)
  • Giờ đây, các chip được nâng cao sẽ tận dụng vai trò SurfaceContainerLow (I7cd2f)
  • Màu vùng chứa DatePicker hiện là SurfaceContainerHigh. DatePickerDefaults.TonalElevation nay là 0.dp. (Ida753)
  • Cập nhật màu vùng chứa và màu tay cầm kéo của 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 nay là 0.dp. (I88604)
  • Cập nhật công tắc đã tắt và các biểu tượng/đường đánh dấu chưa được chọn để tận dụng vai trò 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 TopAppBar onScroll 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. FilledIconButton hiện có màu vùng chứa là SurfaceContainerHighest khi không được chọn. (I792c9)
  • Cập nhật vai trò màu của vùng chứa TimePicker và mặt đồ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 ModalBottomSheet Compose M3 để 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 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 hỗ trợ 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 khoảng trống và chỉ báo dừng. (I21451)
  • Thêm một dấu nháy mặc định cho chú thích đa dạng thức, API chú thích đa dạng thức mới hiện cho phép vẽ dấu nháy tuỳ chỉnh cho trước điểm neo 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 hiệu ứng gợn sóng mới và không còn truy vấn RippleTheme nữa.

Thay đổi về API

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

Sửa lỗi

  • Xoá thành phần 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ể khi kết hợp với LookaheadScope. (I2a198)
  • Xoá thành phần 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ể khi kết hợp với LookaheadScope. (Ie6401)
  • Vị trí của huy hiệu được điều chỉnh để gần với tâm của nội dung được neo hơn so với góc trên cùng bên phải. (I18a28)
  • Khắc phục vấn đề về khả năng hỗ trợ tiếp cận 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ể thao tác cho người dùng trình đọc màn hình, tính năng Tiếp cận bằng công tắc và tính năng Truy cập 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

  • Giúp các trạng thái của Thanh trượt ổn định trở lại. Đang đặt State.onValueChangeFinished thành val. Gói onValueChangeFinished trong rememberUpdatedState. (Ie8fd0, b/322269951)
  • Xoá @Stable khỏi trạng thái của Slider vì chúng ta đang 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 để làm cho thành phần này có thể lấy tiêu điểm trở lại (3fcec1, b/323694447)
  • Khắc phục vấn đề về bộ nhớ đệm màu 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

  • Một lỗi kết xuất tương tác View-Compose đã xuất hiện trong PrimaryTabRow trong quá trình thay đổi để cải thiện hiệu suất. Giải pháp là sử dụng TabRow với TabRowDefaults.PrimaryIndicator

Thay đổi quan trọng kể từ phiên bản 1.1.0

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

Các điểm cải tiến đối với các thành phần Material Design 3 hiện có.

Đã chuyển các API thử nghiệm sang phiên bản ổn định!

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. Lỗi này không cập nhật contentColor dựa trên giá trị tham số containerColor. (Iee041, b/319671246)
  • Khắc phục một lỗi trong disabledContentColor xuất hiện trong 1.2.0-beta02 và thêm một số điểm 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ẽ chỉ định 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 rõ ràng disabledContentColor. Lỗi này sẽ được khắc phục trong bản phát hành tiếp theo.

Thay đổi về API

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

Sửa lỗi

  • Đã sửa giá trị khoảng đệm cuối ListItem để phù hợp với quy cách. (Ibd68b, b/305342674)
  • Màu đường viền cho thẻ có đường viền hiện được liên kết chính xác với OutlineVariant. (I75480, b/310979715)
  • Màu động hiện lấy từ các 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 hỗ trợ tiếp cận và điều chỉnh màu sắc sống động cho phù hợp hơn với quy cách của Material. (I1de96)
  • Khắc phục vấn đề xử lý ModalBottomSheet khi quay lại trên Android T/13 trở lên 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.

Thay đổi về API

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

Sửa lỗi

  • Giờ đây, chỉ báo mặc định cho PullToRefresh là một đầu mũi tên mở thay vì một hình tam giác đặc. (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.

Thay đổi về API

  • RangeSlider hiện sử dụng một dải ô 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. Hai thành phần này cùng nhau cung cấp một cách triển khai thao tác kéo để làm mới trong Material3. (I16456, b/261760718)

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 theo sau. (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. Thêm isFocusableshouldDismissOnBackPress vào ModalBottomSheetProperties. Các giá trị boolean mới này giúp xác định cách trang tính dưới cùng phương thức nên xử lý các sự kiện IME. (Iea56f, b/278216859)
  • Cập nhật trạng thái RangeSliderSlider để xoá initialOnValueChange, các tiền tố ban đầu và kdoc thích hợp. (I57d30)
  • Không dùng lớp ChipBorder và các lệnh gọi hàm liên kết của lớp này nữa, thay vào đó, bạn nên sử dụng trực tiếp BorderStroke. (I89cc2)
  • Foundation Tooltip API hiện là @ExperimentalFoundationApi. (I30b0b)
  • TabRowScrollableTabRow đã được sử dụng trở lại. Các biến thể Chính và Phụ mới được đánh dấu là thử nghiệm. (I0def6)
  • Các khối lọc và khối đầ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 đó nữa. (Idbe52)
  • Đổi tên API SwipeToDismiss thành SwipeDismiss và chuyển API SwipeDismiss mới sang trạng thái ổn định. (I14cbe)
  • Thêm tonalElevationshadowElevation vào các API chú thích. Ngoài ra, hãy chuyển các API TooltipBox, PlainTooltipRichTooltip trở lại phiên bản thử nghiệm vì chúng vô tình được phát hành dưới dạng phiên bản ổn định. (If0f66, b/293939035)
  • Đưa các API khối thử nghiệm lên phiên bản ổn định. (Iea2c3)
  • Xoá chú thích @ExperimentalMaterial3Api khỏi các Thẻ có thể nhấp của Material3. (I88dbf)

Sửa lỗi

  • Khắc phục vấn đề khiến SwipeToDismiss gặp sự cố trong một số trường hợp có 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.

Thay đổi về API

  • Chuyển BadgeBadgedBox thành phiên bản ổn định. (I67f16, b/261565132)
  • Thêm securePolicy làm 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 lấy progress làm lambda. Các phiên bản này sẽ hoạt động hiệu quả 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 ở cuối phạm vi năm được phép. (I46f36, b/290954897, b/297002119)
  • [Thanh/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.

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 phương thức mở và đóng, đồng thời thông số chênh lệch 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ể truy cập trực tiếp vào độ lệch thông qua currentOffset. (I0a72c)
  • Các hàm không có khả năng kết hợp đã được thêm để tạo trực tiếp DatePickerStateDateRangePickerState. Bạn có thể dùng các hàm này thay cho các hàm rememberDatePickerStaterememberDateRangePickerState có khả năng kết hợp 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ụ. Những giá trị này ánh xạ chính xác đến màu sắc và hành vi của 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 một tham số sheetMaxWidth mới mà nhà phát triển có thể đặt để chỉ định chiều rộng tối đa mà trang tính sẽ trải rộng. Bạn có thể truyền Dp.Unspecified cho tham số nếu muốn một trang trải rộng toàn bộ chiều rộng màn hình. (Ifb7c9, b/266697696)
  • Thêm lại các API PlainTooltipBoxRichTooltipBox dưới dạng các 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 tạo bằng DatePickerFormatter có một số cấu trúc ngày nhất định vẫn giữ nguyên khi được chuyển đổi thành 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à Immutable (Không thay đổi), khiến các bản cập nhật màu riêng lẻ kém hiệu quả hơn, nhưng lại giúp việc sử dụng màu phổ biến hơn trở nên hiệu quả hơn. Lý do cho thay đổi này là vì phần lớn các ứng dụng sẽ không có trường hợp sử dụng chính là cập nhật từng màu. Điều này vẫn có thể xảy ra nhưng sẽ kết hợp lại nhiều hơn trước, do đó, chúng ta sẽ giảm đáng kể số lượng lượt đăng ký trạng thái thông qua tất cả mã Material và sẽ ảnh hưởng đến chi phí khởi tạo và thời gian chạy của các trường hợp sử dụng tiêu chuẩn hơn. (Ic447d, b/297212873)
  • Độ nâng tông màu không còn tạo hiệu ứng ảnh động ở các trạng thái tương tác khác nhau để khớp với thông số kỹ thuật. (Icdd12)

Thay đổi về API

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

Sửa lỗi

  • Xoá việc sử dụng rememberSaveable cho chú thích. (Icc131, b/299500338)
  • Giới thiệu một cờ tạm thời để kiểm soát xem Scaffold có nên đo lường các thành phần con của nó trong quá trình đo lường hay trong quá trình đặt hay không. Theo mặc định, chỉ số này sẽ được đo lường. Nếu bạn gặp vấn đề với hành vi mới này, vui lòng báo cáo vấn đề. (I0b354)
  • Cố định chế độ hiển thị tràn viền theo chiều ngang trong BottomSheet bằng cách sử dụng kích thước đo chính xác cho chiều rộng màn hình thiết bị. (I1df0c, b/299058752)
  • Khắc phục lỗi ModalBottomSheet không gọi onDismissedRequest khi người dùng đóng 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 đã thêm tính năng hỗ trợ biểu tượng tự động phản chiếu trong compose material 1.6.0-alpha05. Vui lòng xem ghi chú phát hành để biết thông tin chi tiết về biểu tượng tự động phản chiếu.

Thay đổi về API

  • SliderState triển khai DraggableState (I9b116)
  • Thay đổi hình dạng thành một 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 để thêm một bản đồ được dùng làm bộ nhớ đệm nhằm cải thiện hiệu suất. (I3195f)
  • Đã thêm BasicTooltipBox vào compose.foundation và cập nhật PlainTooltipBox cũng như RichTooltipBox để 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ề các màu có độ bão hoà cao hơn cho các vai trò vùng hiển thị và surfaceContainer. (I5e901)
  • Đã khắc phục vấn đề trong đó một số thành phần sử dụng Subcomposition (ví dụ: BottomSheetScaffold) bên trong Scaffold bên trong LookaheadScope đang cố gắng đọ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 đổi cách tính toán DropdownMenu của offset để độ lệch x chỉ phụ thuộc vào hướng bố cục cục bộ và độ lệch y sẽ không còn bị đảo ngược khi trình đơn ở gần cuối màn hình. (Iccc74, b/294103942)
  • Đã sửa đổi cách tính toán DropdownMenu của offset để độ lệch x chỉ phụ thuộc vào hướng bố cục cục bộ và độ lệch y sẽ không còn bị đả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.

Thay đổi về API

  • Cập nhật màu sắc của hộp đánh dấu và 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 yêu cầu bạn đặt màu hộp bên trong khi bị vô hiệu hoá và chưa được đánh dấu cần một phiên bản được tạo 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)
  • Giờ đây, đường phân cách có một tham số để kiểm soát hướng nhằm hỗ trợ đường phân cách dọc. (I4c899, b/288438593)

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. Điều này áp dụng cho các thành phần sau: SwipeToDismiss và các thành phần dựa trên Bảng. Vui lòng sử dụng hàm nạp chồng mới được cung cấp khi mật độ là một tham số. (I1846e)
  • Các chú thích bổ sung để chỉ định các dữ liệu đầu vào được phép cho thành phần kết hợp (Ief234)
  • Thêm một tham số biểu tượng vào nút phân đoạn, chia ngữ nghĩa để các nút phân đoạn có thể chọn để triển khai chế độ chọn một và có thể bật/tắt để triển khai chế độ chọn nhiều, tương ứng với SelectableSegmentedButtonRowToggelableSegmentedButtonRow. (I38740)
  • Đường 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 cho FloatRange có trọng lượng nhẹ hơn trong các API Material3 thử nghiệm để giảm thiểu việc tự động đóng gói. (I4aab5)
  • Thêm chế độ căn chỉnh Start (Bắt đầu) mới cho FabPosition (Ib7aea, b/170592777)

Sửa lỗi

  • ModalBottomSheet tuân theo hướng bố cục của ngôn ngữ bản địa. (Ib4f44, b/285628622)

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

  • includeFontPadding hiện là false theo mặc định 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 (theo sp) rõ ràng đã đượ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 một 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 cho bản nhạc đang hoạt động hiện tại, các phép đo của các thành phần RangeSlider và 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. (Ia5369, b/271040353)
  • ColorScheme hiện hỗ trợ các vai trò SurfaceContainer mới.
  • Giờ đây, bạn có thể tắt lớp phủ độ nâng tông màu bề mặt bằng thành phần cục bộ LocalTonalElevationEnabled. (Ic203c, b/277774590)

Thay đổi về API

  • Mở hàm khởi tạo màu thành phần. (I8c4a6)
  • Thêm tham số có thể lấy tiêu điểm vào cả hai API chú thích, để nhà phát triển có thể cho phép chú thích sử dụng hoặc không sử dụng các sự kiện chạm. Hãy thận trọng vì điều này có thể làm gián đoạn quá trình di chuyển tự động tiêu điểm hỗ trợ tiếp cận. (Ie32d8)
  • Đã tối ưu hoá khả năng tiếp cận để cải thiện hiệu suất và việc phân bổ 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ổ đã dùng. Xin 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 bạn cung cấp các tham số này. (I08b73, b/264601542)
  • Cố định chế độ căn chỉnh của thanh ứng dụng ở trên cùng tại trung tâm để đảm bảo tiêu đề dài không hiển thị đè lên biểu tượng thao tác hoặc biểu tượng điều hướng. (I4369f, b/236994621)
  • Các vị trí của thẻ hiện áp dụng chiều rộng nội dung tối thiểu là 24 dp. Điều này cung cấp một đích chạm có thể truy cập cho các chỉ báo thẻ. (Id8861)
  • Bảng phối màu động từ dynamicLightColorSchemedynamicDarkColorScheme hiện hỗ trợ các vai trò mới cho vùng hiển thị. (I1252e)
  • Cập nhật chế độ căn chỉnh thông báo bằng huy hiệu để không bị cắt khi xung đột với ông bà cố. (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.

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ẽ lớp phủ mờ cho ModalBottomSheet ở phía sau thanh trạng thái khi đặt windowInsets thành 0
    • Cập nhật chức năng ModalBottomSheet mặc định để nằm ngoài các thanh hệ thống, bao gồm cả thanh điều hướng
    • Xử lý phần lồng ghép thanh trạng thái bằng tay cầm kéo ở chế độ tràn viền.
    • BottomSheetDefaults bao gồm phần lồng ghép cửa sổ cho BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Không dùng Indicator nữa mà thay bằng Primary/SecondaryIndicator để phù hợp với quy cách M3. PrimaryIndicator khớp với chiều rộng của nội dung trong thẻ, trong khi SecondaryIndicator trải rộng theo 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ể là một phương án thay thế trực tiếp. (I27604)
  • Thêm một lựa 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 được hiển thị. (Ia0734, b/185304441)
  • Thêm một 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 cho bản nhạc đang hoạt động hiện tại, các phép đo của các thành phần Slider và 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 TooltipState, RichTooltipStatePlainTooltipState làm giao diện công khai. Thêm RichTooltipStateImplPlainTooltipStateImpl cho các trạng thái mặc định. Đã thêm các 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 để bổ sung các lựa chọn tuỳ chỉnh cho màu của đường phân chia, thành phần điều hướng và trường nhập văn bản của bộ chọn ngày. (I1a685, b/274626815)
  • DatePickerStateDateRangePickerState hiện là các giao diện công khai có các phương thức triển khai mặc định mà rememberDatePickerStaterememberDateRangePickerState có thể truy xuất. (I71c52)
  • Xoá dateValidator khỏi DatePickerDateRangePicker, đồng thời giới thiệu giao diện SelectableDates có thể được đặt trên trạng thái để kiểm soát những 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, dự kiến sẽ có thêm các thay đổi trong API trạng thái (I3f39a)
  • ModalBottomSheet chỉ chuyển sang Android. Bạn không nên dùng ModalBottomSheet cho máy tính và chức năng này không còn được duy trì tích cực. (Ib3778)

Sửa lỗi

  • Đã cố định 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 để 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 việc triển khai cho phù hợp với quy cách của Material Design. (I029de, b/235454277)
  • Khắc phục lỗi trong ListItem khi dùng khoảng đệm không chính xác cho 3 mục hàng. (I6e235)
  • ModalBottomSheet hiện 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

  • Khắc phục lỗi khi đối tượng sửa đổi được truyền không chính xác đến hai thành phần kết hợp. (b/282761472)
  • Khắc phục lỗi TimePickerState trả về số giờ không chính xác khi được khởi chạy với 23 giờ. (b/278242122)
  • Đã khắc phục trạng thái bật/tắt ban đầu để xác thực phút và buổi trưa. (b/269768197, b/282790635)
  • Khắc phục 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 để đảm bảo khả năng tương thích 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ẽ lớp phủ mờ cho ModalBottomSheet ở phía sau thanh trạng thái khi đặt windowInsets thành 0
    • Cập nhật chức năng ModalBottomSheet mặc định để nằm ngoài các thanh hệ thống, bao gồm cả thanh điều hướng
    • Xử lý phần lồng ghép thanh trạng thái bằng tay cầm kéo ở chế độ tràn viền.
    • BottomSheetDefaults bao gồm phần lồng ghép cửa sổ cho BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

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

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

Các điểm cải tiến đối với các thành phần Material Design 3 hiện có.

Đã chuyển các API thử nghiệm sang phiên bản ổn định!

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.

Thay đổi về API

  • TimePicker bị xoá khỏi API ổn định, dự kiến sẽ có thêm các thay đổi trong API trạng thái (I3f39a)
  • ModalBottomSheet chỉ chuyển sang Android. Bạn không nên dùng ModalBottomSheet cho máy tính và chức năng này không còn đượ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.

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 neo Ẩn được xác định, mặc dù theo mặc định, neo này bị vô hiệu hoá
  • Đã cập nhật tài liệu SheetState.requireOffset
  • BottomSheetDefaults.MinimizedShape đã được đổi tên thành BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Sửa lỗi

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

Thay đổi về API

  • Thêm tham số loại bố cục vào thành phần kết hợp TimePicker. Cho phép sử dụng các bố cục khác nhau, 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 độ nâng bóng vào BottomSheetScaffold (I94e0f)
  • Thêm tính năng hỗ trợ 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 truyền tiêu đề rỗng khi tạo bộ chọn ngày. Giờ đây, bạn có thể truyền tiêu đề, tiêu đề và showToggleMode = false rỗng để hiển thị bộ chọn không có tiêu đề. (Id3f3a, b/266132421, b/267194809)

Sửa lỗi

  • Giờ đây, các 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 phạm vi có cùng ngày cho cả ngày bắt đầu và ngày kết thúc. (I16529, b/272882497)
  • Giờ đây, các trường văn bản sẽ định vị đúng các phần tử văn bản khi cỡ chữ nhỏ hơn dự kiến. Điều này có thể dẫn đến một vài pixel thay đổi trong các ứng dụng của bạn dựa trên chế độ cài đặt phông chữ và tập lệnh. (I8b8d0)
  • Các thao tác ngữ nghĩa trên 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)

Thay đổi về API

  • Thêm chức năng vào DatePickerStateDateRangePickerState để cho phép đặt ngày sau khi 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 nên thận trọng khi đặt ngày theo cách thủ công và hàm setSelection mới sẽ đưa ra một ngoại lệ trong trường hợp ngày được cung cấp 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 Collapsed SheetValue thành PartiallyExpanded để mô tả chính xác và linh hoạt hơn hành vi ở trạng thái này. (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 khi có liên quan. (I69a25)
  • Chuyển các API Surface có tính tương tác từ trạng thái thử nghiệm sang trạng thái chính thức. (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 chế độ kiểm tra confirmValueChange vào thao tác nhấn scrim cho ModalBottomSheet. (I2311a, b/270425759)
  • Di chuyển các thao tác ngữ nghĩa BottomSheet đến ô điều khiển kéo. (I158ba)
  • ModalBottomSheet hiện yêu cầu lấy tiêu điểm khi khởi chạy, xử lý nút quay lại. (I4d2ab)
  • ModalBottomSheet onDismissRequest hiện cũng được xử lý trong các thao tác hất 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

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.