Constraintlayout

Xác định vị trí và đặt kích thước cho các tiện ích một cách linh hoạt nhờ vị trí tương đối.

Bảng này liệt kê tất cả cấu phần phần mềm trong nhóm androidx.constraintlayout.

Cấu phần phần mềm 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
constraintlayout 2.2.0 - - -
constraintlayout-compose 1.1.0 - - -
constraintlayout-core 1.1.0 - - -

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên ConstraintLayout, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.2.0-beta01"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.0-beta01")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01")
}

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

ConstraintLayout-compose và ConstraintLayout-Core 1.1

Phiên bản 1.1.0

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0, androidx.constraintlayout:constraintlayout-compose-android:1.1.0androidx.constraintlayout:constraintlayout-core:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

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

  • Khắc phục vấn đề tương tác với SharedTransitionLayout (b/332898040).
  • Khắc phục các vấn đề về Bố cục liên quan đến việc đo lường do kết hợp lại (b/219091179, Ibfe8a).

Phiên bản 1.1.0-rc01

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01androidx.constraintlayout:constraintlayout-core:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.1.0-beta01

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01androidx.constraintlayout:constraintlayout-core:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha14

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14. Phiên bản 1.1.0-alpha14 bao gồm các thay đổi sau.

Thay đổi về API

  • Giờ đây, cờ được cung cấp riêng lẻ thông qua đối tượng đồng hành và có thể được kết hợp với toán tử or. (I9df53)
  • Đơn giản hoá trình trợ giúp createRowcreateColumn. Cải thiện tên tham số createGrid và tài liệu để làm rõ. (Iebc92)
  • Đơn giản hoá API animateChanges trong ConstraintLayout để chỉ cần AnimationSpec khác rỗng. onIncomingConstraints trong InvalidationStrategy hiện là một hàm lambda thông thường. Đổi tên fixedWidthRate thành shouldInvalidateOnFixedWith, tương tự như biến thể Chiều cao. (Ie59cd, b/332898040, b/336370035)
  • Các nguồn NestedScroll kéo và hất sẽ được thay thế bằng UserInputSideEffect để phù hợp với định nghĩa mở rộng của các nguồn này, hiện bao gồm cả ảnh động (Hiệu ứng phụ) và Bánh xe chuột và Bàn phím (UserInput). (I40579)

Phiên bản 1.1.0-alpha13

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 mà không có sự thay đổi nào. Phiên bản 1.1.0-alpha13 bao gồm các thay đổi sau.

  • Bản phát hành này cho phép thư viện androidx.constraintlayout tương thích với ABI với các bản phát hành Compose mới nhất.

Phiên bản 1.1.0-alpha12

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12. Phiên bản 1.1.0-alpha12 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm LayoutScopeMarker vào DSL chuyển đổi. (If54ce)

Phiên bản 1.1.0-alpha11

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11. Phiên bản 1.1.0-alpha11 bao gồm các thay đổi sau.

Tính năng mới

  • Giờ đây, bạn có thể cung cấp InvalidationStrategy để tối ưu hoá các trường hợp không hợp lệ trong MotionLayout. Đây thường là nguyên nhân khiến hiệu suất giảm. (Iada0c)
  • Giờ đây, bạn có thể sử dụng animateChanges = true khi sử dụng ConstraintLayout với DSL đối tượng sửa đổi cùng dòng (Modifier.constrainAs). Bất cứ khi nào thay đổi đối với DSL quy tắc ràng buộc được thực hiện, ConstraintLayout sẽ tự động tạo ảnh động cho trạng thái mới đó. (I9abf1)
  • Bật chức năng cho limitBoundsTo trên OnSwipe. (I56522)

Thay đổi về API

  • Đổi tên TransitionScope.staggered thành TransitionScope.maxStaggerDelay. (I0fd2d)

Sửa lỗi

  • Khắc phục lỗi tham số dragScale từ OnSwipe không hoạt động. (8bef26)
  • Sửa lỗi customColor trong MotionScene không hoạt động đúng cách với màu trong suốt. (81b2ac)
  • Khắc phục lỗi OnSwipe không thông báo đúng cách khi đã dừng, đồng thời khắc phục lỗi tính toán tốc độ ban đầu cho touchUp. (Ia5f6f)
  • Cập nhật KDoc cho Thành phần kết hợp ConstraintLayoutConstraintset. (3bfe63)

Phiên bản 1.1.0-alpha10

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10. Phiên bản 1.1.0-alpha10 bao gồm các thay đổi sau.

Thay đổi về API

  • API MotionLayout không còn mang tính thử nghiệm nữa, đây là tập hợp API ổn định ban đầu cho MotionLayout. (I288f4)
  • Đã xoá MotionLayoutState. (Id3ac1)
  • Giờ đây, bạn có thể sử dụng DebugFlags để gỡ lỗi trực quan: DebugFlags(showBounds = true). (Ic714b)
  • Thay đổi biến tiện ích Dp.asDimension thành một phương thức: Dp.asDimension(). (I2d6ef)
  • Chế độ so sánh hiện được hỗ trợ trong DSL MotionLayout, xác định độ trễ tối đa bằng TransitionScope.staggered, bạn cũng có thể sử dụng ConstrainScope.staggeredWeight (trong MotionSceneScope) để lấy thứ tự so le tuỳ chỉnh. (I70275)
  • Có hai thay đổi được thực hiện cho trình trợ giúp Grid: 1. paddingLeftpaddingRight thành paddingStartpaddingEnd tương ứng, và 2. cập nhật định dạng của gridSpansgridSkip thành một mảng của các đối tượng Span và Skip để tạo cấu trúc rõ ràng hơn. (Idd1eb)

Phiên bản 1.1.0-alpha09

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09. Phiên bản 1.1.0-alpha09 bao gồm các thay đổi sau.

Thay đổi về API

  • Modifier.intermediateLayout hiện không yêu cầu LookaheadScope rõ ràng. Khối đo lường trong intermediateLayoutIntermediateMeasureScope làm trình nhận, cung cấp CoroutineScope, LookaheadScopeMeasureScope thuận tiện.
  • LookaheadLayout đã được thay thế bằng LookaheadScope, không còn là Bố cục nữa. Điều này cho phép nội dung con trong LookaheadScope được MeasurePolicy của phần tử mẹ trực tiếp kiểm soát. (Ibe2e5)
  • Easing.Cubic() hiện có thể nhận các tham số vượt quá. (I2d826)

Phiên bản 1.1.0-alpha08

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08androidx.constraintlayout:constraintlayout-core: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 kiểm tra tìm lỗi mã nguồn để đề xuất sử dụng Dimension.percent(1f)LayoutReference.withChainParams() trong trường hợp các mẫu thông thường có thể dẫn đến hành vi không thể dự đoán. (I62eb0, I03060)

Thay đổi về API

  • Bật cờ ReverseSpanDirectionSpansOrderFirst cho Trình trợ giúp lưới trong Compose.
    1. ReverseSpanDirection: đảo ngược thông số kỹ thuật về chiều rộng và chiều cao cho các span/bỏ qua.
    2. SpansOrderFirst: span sẽ tuân theo thứ tự của các tiện ích. (I6ad50)
  • Dùng Modifier.onStartEndBoundsChanged(...) để lấy các giới hạn cục bộ của Thành phần kết hợp trong MotionLayout mà không bị ảnh động ảnh hưởng. Hữu ích cho mọi hoạt động tương tác trên giao diện người dùng cần thông tin bố cục cũng có thể kích hoạt ảnh động như DragAndDrop. (I6b5f9)
  • Bật số lần bỏ qua và khoảng thời gian của Trình trợ giúp lưới trong Compose (I917b6)

Sửa lỗi

  • Sửa lỗi thuộc tính dịch không áp dụng các giá trị dự kiến. (I961cd)

Phiên bản 1.1.0-alpha07

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07androidx.constraintlayout:constraintlayout-core: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 các API mới để bật Grid Helper (Trình trợ giúp lưới) trong Compose bằng DSL (I1143b)

Sửa lỗi

  • Sửa lỗi Wrap.Chain cho Flow không bố trí phù hợp với tham số maxElement đã cho. (e1f2ed3)
  • Sửa lỗi start ConstraintSet không cập nhật khi thay đổi Transition qua MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String). (17ffff1)
  • Sửa lỗi ConstraintSet không phản ánh một số thay đổi khi kế thừa các quy tắc ràng buộc thông qua ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit).(740804b)

Phiên bản 1.1.0-alpha06

Ngày 25 tháng 1 năm 2023

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06androidx.constraintlayout:constraintlayout-core: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

  • Thêm các API mới để bật Grid Helper (Trình trợ giúp lưới) trong Compose được thể hiện qua JSON, cho phép đặt các thành phần kết hợp trong lưới 2D. (I968ad)

Các thay đổi về API

  • Thêm tính năng hỗ trợ cho chế độ vòng cung hướng lên và vòng cung hướng xuống (hướng Arc.AboveArc.Below), chế độ vòng cung độc lập (MotionLayout) (I184a9)
  • Giờ đây, bạn có thể ràng buộc đường neo cơ sở với neo trên cùng/dưới cùng và ngược lại. (I54628)
  • Đổi tên MotionLayoutScope#motionProperties (bao gồm cả các hàm phái sinh) thành MotionLayoutScope#customProperties. Việc đổi tên này là để đảm bảo tính nhất quán khi thiết lập thuộc tính tuỳ chỉnh. (Ib34c9)
  • Giờ đây, bạn có thể tạo nhiều tham chiếu trong ConstraintSetMotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Áp dụng các điều kiện ràng buộc cho nhiều phần tử bằng constrain(box, button, text). Trong ConstrainScope, nay bạn có thể đặt phương diện cố định một cách trực quan bằng Dp.asDimension: width = 10.dp.asDimension. (I021ec, Ia0960)
  • Phương thức MotionScene()Transition() nay là các hàm không phải hàm có khả năng kết hợp. Bây giờ, các đối tượng trong các hàm này (bao gồm cả ConstraintSet) phải so sánh được với nhau. Nay bạn chỉ có thể sử dụng animateChanges = true trong ConstraintLayout với một tham chiếu ConstraintSet, miễn là khi kết hợp lại thì có sự thay đổi về thuộc tính của tham chiếu này. (I7d22e)

Sửa lỗi

  • Khắc phục vấn đề ConstraintLayout luôn kích hoạt quá trình kết hợp lại một cách không cần thiết khi thay đổi trình trợ giúp. (Id83ad, b/222093277)
  • Khắc phục hành vi khi sử dụng Hàm nội tại với ConstraintLayoutMotionLayout. (I487ae, b/220527863)
  • Khắc phục sự cố không thể đo lường lại khi nội dung thay đổi. (Ibfe8a, b/219091179)

Phiên bản 1.1.0-alpha05

Ngày 7 tháng 12 năm 2022

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05androidx.constraintlayout:constraintlayout-core: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

  • Hỗ trợ KeyAttributes tuỳ chỉnh trong DSL (b94e748)
  • Các thuộc tính quy tắc hạn chế bề mặt trong ConstrainScope (32625d0)
  • Hỗ trợ các tham số tuỳ chỉnh trong chuỗi (72a2e9e)
  • Thêm phép kiểm thử Macrobenchmark cho MotionLayout trong Compose (36f43bc)
  • Để biết thêm thông tin về những thay đổi trong bản phát hành trước đó trong Compose, hãy xem trang wiki

Các thay đổi về API

  • Lật các tham số addConstraintSetaddTransition (152facc)

Sửa lỗi

Phiên bản 1.1.0-alpha01

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

Vui lòng lưu ý API MotionLayout api hiện đang trong quá trình thử nghiệm và bạn được quyền chọn sử dụng.

Để biết thêm thông tin chi tiết, vui lòng xem phần Tính năng mới trong Compose 1.1.0-alpha01 trên GitHub.

Phiên bản 2.2

Phiên bản 2.2.0

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

Phát hành androidx.constraintlayout:constraintlayout:2.2.0. Phiên bản 2.2.0 bao gồm các thay đổi sau.

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

  • Bản phát hành tương đương với thư viện constraintlayout-core cơ bản.

Phiên bản 2.2.0-rc01

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

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

Phiên bản 2.2.0-beta01

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

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

Phiên bản 2.2.0-alpha14

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

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

Phiên bản 2.2.0-alpha13

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

Phát hành androidx.constraintlayout:constraintlayout:2.2.0-alpha13 mà không có thay đổi nào. Phiên bản 2.2.0-alpha13 bao gồm các thay đổi sau.

Phiên bản 2.2.0-alpha12

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

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

Phiên bản 2.2.0-alpha11

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

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

Thay đổi về API

  • Thêm phương thức setter để cho phép nhà phát triển thiết lập giá trị cho mInfiniteCarousel bằng phương pháp lập trình (I0a8ca)

Phiên bản 2.2.0-alpha10

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

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

Sửa lỗi

  • Khắc phục đường liên kết bị hỏng của tài liệu MotionLayout. (51cbe88)

Phiên bản 2.2.0-alpha09

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

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

Phiên bản 2.2.0-alpha08

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

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

Phiên bản 2.2.0-alpha07

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

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

Sửa lỗi

  • Khắc phục vấn đề thiếu nội dung trang ConstraintLayout. (I82e25)

Phiên bản 2.2.0-alpha05

Ngày 7 tháng 12 năm 2022

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

  • Để biết thêm thông tin về những thay đổi trong bản phát hành trước, hãy xem trang GitHub wiki

Sửa lỗi

  • Sửa lỗi rò rỉ trong Băng chuyền khung hiển thị (eb67b82)

Phiên bản 2.2.0-alpha01

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

Phát hành androidx.constraintlayout:constraintlayout:2.2.0-alpha01.

Bao gồm bản dùng thử của trình trợ giúp Grid mới.

Để biết thêm thông tin chi tiết, vui lòng xem phần Tính năng mới trong bản 2.2.0-alpha01 trên GitHub.

ConstraintLayout-compose 1.0

ConstraintLayout-compose 1.0 cung cấp các hàm ConstraintLayout trong Jetpack Compose.

Phiên bản 1.0.1

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.1.

Vui lòng lưu ý API MotionLayout api hiện đang trong quá trình thử nghiệm và bạn được quyền chọn sử dụng.

Để biết thêm thông tin chi tiết, vui lòng xem phần Tính năng mới trong Compose 1.0.1 trên GitHub.

Phiên bản 1.0.0

Ngày 13 tháng 1 năm 2022

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0.

Xin lưu ý rằng MotionLayout api hiện đang thử nghiệm và yêu cầu chọn sử dụng.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 1.0 (Compose) trên GitHub.

Phiên bản 1.0.0-rc02

Ngày 16 tháng 11 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 1.0 (Compose) trên GitHub.

Phiên bản 1.0.0-rc01

Ngày 27 tháng 9 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01.

Bản phát hành này là phiên bản thử nghiệm beta thứ hai. Bản này được coi là đã hoàn chỉnh chức năng, cung cấp ConstraintLayoutMotionLayout cho Compose.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 1.0 (Compose) trên GitHub.

Phiên bản 1.0.0-beta02

Ngày 30 tháng 7 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02.

Bản phát hành này là phiên bản thử nghiệm beta thứ hai. Bản này được coi là đã hoàn chỉnh chức năng, cung cấp ConstraintLayoutMotionLayout cho Compose.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 1.0 (Compose) trên GitHub.

Phiên bản 1.0.0-beta01

Ngày 22 tháng 7 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01.

Bản phát hành này là phiên bản beta đầu tiên. Bản này được coi là đã hoàn chỉnh chức năng, cung cấp ConstraintLayoutMotionLayout cho Compose.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 1.0 (Compose) trên GitHub.

Phiên bản 1.0.0-alpha07

Ngày 18 tháng 5 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07.

  • Cập nhật để tương thích với Compose phiên bản 1.0.0-beta07.

Phiên bản 1.0.0-alpha06

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06.

  • Tối ưu hoá Compose: để Constraintlayout cùng dòng với thành phần kết hợp (#193)
  • Giảm thiểu việc đo lường lại trong Compose (#210)

Phiên bản 1.0.0-alpha05

Ngày 15 tháng 3 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05.

  • bao gồm bản sửa lỗi cho công cụ tối ưu hoá (b/182657720)
  • thêm tham số optimizationLevel vào thành phần kết hợp ConstraintLayout.

Phiên bản 1.0.0-alpha04

Ngày 11 tháng 3 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04.

Cập nhật để sử dụng công cụ constraintlayout-core mới nhất

Phiên bản 1.0.0-alpha03

Ngày 24 tháng 2 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03.

Phát hành bản cập nhật cho Jetpack Compose beta01

Phiên bản 1.0.0-alpha02

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

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02.

Phát hành bản cập nhật cho Jetpack Compose alpha12

Phiên bản 1.0.0-alpha01

Ngày 2 tháng 2 năm 2021

Phát hành androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01.

Bản phát hành đầu tiên của thư viện cung cấp các DSL bên trong và bên ngoài để thể hiện các điều kiện ràng buộc (constraint).

Phiên bản 2.1

ConstraintLayout 2.1.0 cung cấp các tính năng phong phú hơn trong MotionLayout và các trình trợ giúp mới (chẳng hạn như Carousel, v.v.)

Phiên bản 2.1.4

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

Phát hành androidx.constraintlayout:constraintlayout:2.1.4.

Để biết thêm thông tin chi tiết, vui lòng xem phần Tính năng mới trong bản 2.1.4 trên GitHub.

Phiên bản 2.1.3

Ngày 13 tháng 1 năm 2022

Phát hành androidx.constraintlayout:constraintlayout:2.1.3.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 2.1 trên GitHub.

Phiên bản 2.1.2

Ngày 16 tháng 11 năm 2021

Phát hành androidx.constraintlayout:constraintlayout:2.1.2.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong phiên bản 2.1 trên GitHub.

Phiên bản 2.1.1

Ngày 27 tháng 9 năm 2021

Phát hành androidx.constraintlayout:constraintlayout:2.1.1.

Đây là bản phát hành cuối cùng cho 2.1.1.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong phiên bản 2.1 trên GitHub.

Phiên bản 2.1.0

Ngày 30 tháng 7 năm 2021

Phát hành androidx.constraintlayout:constraintlayout:2.1.0.

Đây là bản phát hành cuối cùng cho 2.1.0.

Để biết thêm thông tin, hãy xem bài viết Có gì mới trong 2.1 trên GitHub.

Phiên bản 2.1.0-rc01

Ngày 22 tháng 7 năm 2021

Phát hành androidx.constraintlayout:constraintlayout:2.1.0-rc01.

Đây là bản phát hành dùng thử cho 2.1.0, cung cấp các cải tiến và bản sửa lỗi nhỏ từ bản thử nghiệm beta mới nhất. Để biết thêm thông tin, hãy xem bài viết Có gì mới trong phiên bản 2.1 trên GitHub.

Phiên bản 2.1.0-beta02

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

Phát hành androidx.constraintlayout:constraintlayout:2.1.0-beta02.

Một số tính năng mới trong MotionLayout:

  • Tính năng nâng cao OnSwipe, bao gồm spring (độ cứng, tỷ lệ giảm chấn, khối lượng, v.v.) và không bao giờ hoàn tất
  • Hàm jumpToState
  • Chế độ ViewTransition downUp: khi chạm xuống, nó sẽ đạt tới 100 và ngược lại là 0 khi chạm lên.

Một số cách khắc phục đáng chú ý:

  • Khắc phục sự cố trong MotionLayout với chức năng cuộn dọc (173)
  • Cải tiến Perf trên MotionLayout lồng nhau (#189)
  • Chuyển đổi nhanh bằng NestedScrollView trong MotionLayout (#189)
  • ConstraintSet biến mất trong MotionLayout (#189)
  • Hỗ trợ downUp ViewTransitions trong MotionLayout (#190)
  • Khắc phục trong ImageFilter khi sử dụng lại các mục có thể kéo (#192)
  • Thêm hỗ trợ spring trong MotionLayout (#199)
  • Cải thiện hiệu suất đối với CircularFlow (#200)
  • Khắc phục trong các ràng buộc được dẫn xuất/ ghi đè ràng buộc (#212)

Phiên bản 2.1.0-beta01

Ngày 11 tháng 3 năm 2021

Phát hành androidx.constraintlayout:constraintlayout:2.1.0-beta01.

ConstraintLayout

android:layout_width và android:layout_height nay về lại phiên bản không bắt buộc do vấn đề về khả năng tương thích.

MotionLayout

  • Hỗ trợ có lập trình cho việc chèn và xoá onSwipe và onClick trên các quá trình chuyển đổi.
  • Hỗ trợ thử nghiệm cho quá trình chuyển đổi thông qua tính năng xoay màn hình
  • hỗ trợ đối số khoảng thời gian cho quá trình chuyển đổi
  • Hỗ trợ customAtrributes như Boolean hoặc Các thông tin tham chiếu tốt hơn

Trợ giúp

  • thêm cách tạo ảnh động hoặc chuyển thẳng đến một mục nhất định của một Carousel
  • trình trợ giúp CircularFlow mới

Xem thêm thông tin về bản phát hành này tại đâycác lỗi đã xử lý.

Phiên bản 2.1.0-alpha2

Ngày 17 tháng 12 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.1.0-alpha2.

Phiên bản alpha thứ hai này bổ sung một số tính năng mới:

ConstraintLayout

  • android:layout_width và android:layout_height hiện là không bắt buộc, trong đó wrap_content là hành vi mặc định
  • các thuộc tính mới layout_constraintWidth và layout_constraintHeight thể hiện các ràng buộc kích thước
  • hỗ trợ lề âm cho các ràng buộc
  • hỗ trợ đường cơ sở lên ràng buộc trên và đường cơ sở tới ràng buộc dưới.
  • hỗ trợ các ràng buộc biên đường cơ sở
  • SharedValues cho phép chèn các giá trị bên ngoài vào ConstraintLayout

MotionLayout

  • Hỗ trợ các bộ nội suy quá mức (dự đoán trước, quá mức)
  • Hỗ trợ MotionHelper nâng cao
  • Thêm cập nhật hoạt hoạ của ConstraintSet tới MotionLayout updateStateState(id,cset,duration);
  • ViewTransition dựa trên giá trị được chia sẻ
  • scheduleTransitonTo cho phép bạn sắp xếp trình tự chạy của một chuyển đổi khi chuyển đổi hiện tại hoàn thành.

Trợ giúp

  • Carousel hiện hỗ trợ chế độ vô hạn (bao quanh)
  • ReactiveGuide : Nguyên tắc tự động đặt vị trí khi một SharedValue thay đổi
  • MotionEffect : chèn Khung hình chính vào các chế độ xem được tham chiếu di chuyển theo một hướng cụ thể
  • MotionLabel – Một chế độ xem để hoạt hoá văn bản một dòng

Xem thông tin bổ sung về bản phát hành này tại đây.

Phiên bản 2.1.0-alpha1

Ngày 19 tháng 11 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

Phiên bản alpha đầu tiên của bản phát hành 2.1. Giới thiệu hỗ trợ cho:

  • Trình trợ giúp chuyển động Carousel, để tạo các chế độ xem băng chuyền tuỳ chỉnh
  • MotionLayout trình bày các hỗ trợ được bao gồm và các ràng buộc được ghi đè
  • MotionLayout bổ sung tính năng hỗ trợ xoay vòng (đầu vào và đầu ra) phong phú hơn
  • MotionLayout bổ sung tính năng ViewTransitions, cho phép chuyển đổi khung hiển thị một lần để tạo ra sự thay đổi cho các ConstraintSet

Xem thông tin bổ sung về bản phát hành này tại đây.

Phiên bản 2.0

ConstraintLayout 2.0 thêm các tính năng mới cho bố cục (bố cục ảo, v.v.) và một lớp mới để đơn giản hoá ảnh động của các khung hiển thị, MotionLayout.

Phiên bản 2.0.4

Ngày 29 tháng 10 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.4.

Sửa lỗi

Bản phát hành này khắc phục một NPE tiềm ẩn có thể xảy ra khi xoá chế độ xem tệp con trong thời gian chạy. Bạn nên cập nhật lên phiên bản này.

Xem danh sách các vấn đề đã xử lý tại đây.

Phiên bản 2.0.3

Ngày 27 tháng 10 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.3.

Sửa lỗi

Bản phát hành này khắc phục một số vấn đề. Bạn nên cập nhật lên phiên bản này.

  • Xử lý các phần lồng ghép các cửa sổ
  • Xử lý tỷ lệ kích thước trong một số trường hợp
  • Sự cố xảy ra với một số bố cục RTL

Xem danh sách các vấn đề đã xử lý tại đây.

Phiên bản 2.0.2

Ngày 6 tháng 10 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.2.

Sửa lỗi

Bản phát hành này cải thiện hiệu suất cũng như khắc phục một số vấn đề. Bạn nên cập nhật lên phiên bản này.

  • Việc xử lý chế độ hiển thị GONE trong ConstraintLayout không chính xác trong một số trường hợp
  • Việc xử lý các chuỗi đã đóng gói trong ConstraintLayout không chính xác trong một số trường hợp
  • Ngoại lệ lạm phát cố định trên API 15 cho trình trợ giúp bố cục ảo Flow
  • limitBoundsTo bị lỗi trong MotionLayout
  • Chuyển đến cuối bị lỗi trong MotionLayout trong một số trường hợp (chuyển đổi chuỗi)

Xem danh sách các vấn đề đã xử lý tại đây.

Phiên bản 2.0.1

Ngày 25 tháng 8 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.1.

Đây là bản cập nhật nhỏ cho phép sử dụng MotionEditor trong Android Studio.

Phiên bản 2.0.0

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

Phát hành androidx.constraintlayout:constraintlayout:2.0.0.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây.

Các sửa lỗi đáng chú ý là:

  • Trì hoãn MotionLayout Transition và sửa TransitionListener
  • Sửa lỗi dòng chảy và rào cản ConstraintLayout

Phiên bản 2.0.0-rc1

Ngày 29 tháng 7 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-rc1.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây.

Các sửa lỗi đáng chú ý là:

  • Chỉnh sửa dòng
  • Sửa lỗi RecyclerView (bạn nên cập nhật lên bản recyclerview 1.2.0 alpha 5 trở lên)
  • Sửa lỗi MotionLayout TransitionListener
  • Sửa lỗi rò rỉ bộ nhớ MotionLayout

Phiên bản 2.0.0-beta8

Ngày 7 tháng 7 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-beta8.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây.

Các sửa lỗi đáng chú ý là:

  • Hành vi của phần giữ chỗ
  • Chế độ hiển thị lớp
  • Sửa lỗi dòng, rào cản
  • Sửa lỗi TransitionListener

Phiên bản 2.0.0-beta7

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

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-beta7.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây.

Các sửa lỗi đáng chú ý là:

  • Các vấn đề về chế độ xem cuộn lồng ghép trong MotionLayout
  • Các sự cố nhận thông báo chuyển đổi với MotionLayout
  • Rò rỉ bộ nhớ trong MotionLayout
  • Các vấn đề về RecyclerView
  • Khả năng hiển thị nhóm
  • Các vấn đề về khoảng đệm

Phiên bản 2.0.0-beta6

Ngày 13 tháng 5 năm 2020

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-beta6.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây. Những điểm khắc phục đáng chú ý là khả năng xử lý mức độ hiển thị của nhóm và những ràng buộc phát sinh trong MotionLayout.

Phiên bản 2.0.0-beta5

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

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-beta5.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây

Phiên bản 2.0.0-beta4

Ngày 16 tháng 12 năm 2019

Phát hành androidx.constraintlayout:constraintlayout:2.0.0-beta4.

Tính năng mới

MotionLayout

Các thuộc tính mới trong Transition:

  • layoutDuringTransition: cho phép bạn cấu hình cách MotionLayout nên phản ứng với các lệnh gọi requestLayouts của các tập con trong quá trình chuyển đổi. Các giá trị có thể là {ignoreRequest, honorRequest}
  • pathMotionArc : đường dẫn tạo bởi các phần tử di chuyển sẽ sử dụng một cung. Các giá trị có thể là {startVertical | startHorizontal | flip | none}

Giờ đây, chỉ cần bỏ qua các ConstraintSet bắt đầu và kết thúc là có thể xác định quá trình chuyển đổi mặc định. Quá trình chuyển đổi mặc định đó sẽ được sử dụng nếu không tìm thấy quá trình chuyển đổi hiện có nào khác khớp với trạng thái bắt đầu/kết thúc hiện tại.

Sửa lỗi

Xem danh sách các vấn đề đã xử lý tại đây