Constraintlayout

Định vị và đặt kích thước cho các tiện ích một cách linh hoạt theo 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.1.4 - - 2.2.0-alpha01
constraintlayout-compose 1.0.1 - - 1.1.0-alpha01
Lần gần nhất cập nhật thư viện này: ngày 20 tháng 5 năm 2022

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.1.4"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.0.1")
}

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

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 1.1

ConstraintLayout-compose 1.1 cung cấp nhiều hàm MotionLayout hơn vào Jetpack Compose.

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-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 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 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à sửa lỗi nhỏ từ bản thử nghiệm beta gần nhất. Để 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-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, giảm dầ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 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 vượt quá (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 chế độ xem một lần để tạo ra sự thay đổi cho các bộ ràng buộc.

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 phân loại mới để đơn giản hoá ảnh động của các chế độ xem, 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.

Các 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}

Chuyển đổi mặc định hiện có thể được xác định, chỉ đơn giản bằng cách bỏ qua ConstraintSets bắt đầu và kết thúc. Quá trình chuyển đổi mặc định đó sẽ được sử dụng nếu không thể 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