Appcompat

Cho phép truy cập vào API mới trên các phiên bản API cũ của nền tảng (nhiều phiên bản sử dụng Material Design).
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 8 tháng 2 năm 2023 1.6.1 - - 1.7.0-alpha02

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

Để thêm phần phụ thuộc vào Appcompat, bạn phải thêm kho lưu trữ Google Maven vào dự án. Hãy đọc phần 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 của mình:

Groovy

dependencies {
    def appcompat_version = "1.6.1"

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
}

Kotlin

dependencies {
    val appcompat_version = "1.6.1"

    implementation("androidx.appcompat:appcompat:$appcompat_version")
    // For loading and tinting drawables on older versions of the platform
    implementation("androidx.appcompat:appcompat-resources:$appcompat_version")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem nội dung Thêm phần phụ thuộc cho 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.

Phiên bản 1.7

Phiên bản 1.7.0-alpha02

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

Phát hành androidx.appcompat:appcompat:1.7.0-alpha02androidx.appcompat:appcompat-resources:1.7.0-alpha02. Phiên bản 1.7.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục sự cố rò rỉ bộ nhớ trong AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)
  • AppCompat hiện phụ thuộc vào Fragment phiên bản 1.5.4 (I54dcd)

Phiên bản 1.7.0-alpha01

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

Phát hành androidx.appcompat:appcompat:1.7.0-alpha01androidx.appcompat:appcompat-resources:1.7.0-alpha01. Phiên bản 1.7.0-alpha01 bao gồm các thay đổi sau.

Sửa lỗi

  • AppCompatActivity nay thiết lập ViewTreeOnBackPressedDispatcherOwner để có thể truy xuất trình điều phối trong chế độ xem. (I1a115, b/235416503)
  • Locale.getDefault() hiện trả về ngôn ngữ hệ thống sau khi khởi động nguội (I6a94b)
  • LinearLayoutCompat hiện giữ nguyên các tham số bố cục lề (Id2af4)

Phiên bản 1.6.1

Phiên bản 1.6.1

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

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

Sửa lỗi

  • Khắc phục sự cố rò rỉ bộ nhớ trong AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)

Phiên bản 1.6.0

Phiên bản 1.6.0

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

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

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

Phiên bản 1.6.0-rc01

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

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

Sửa lỗi

  • AppCompatActivity nay thiết lập ViewTreeOnBackPressedDispatcherOwner để có thể truy xuất trình điều phối trong chế độ xem. (I1a115, b/235416503)
  • Huỷ bỏ bản sửa lỗi ghi đè cấu hình được truyền đến onConfigurationChanged, vì lỗi này gây ra vấn đề cho những lượt kiểm thử chèn cấu hình tuỳ chỉnh riêng thông qua onConfigurationChanged.

Phiên bản 1.6.0-beta01

Ngày 10 tháng 8 năm 2022

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

Thay đổi API

  • Di chuyển các lớp tương thích DrawableWrapper, DrawableContainerStateListDrawable sang API công khai. (I37f3e, b/227789566)
  • Giới thiệu một nhà máy mới cho trình tăng cường bố cục không đồng bộ. (Ia657b)

Sửa lỗi

  • Toolbar hiện sẽ gọi onPrepareMenu() trước khi trình đơn hiển thị thay vì không có điều kiện khi trình đơn được tạo. (I2a58d, b/232206677)
  • AppCompat hiện phụ thuộc rõ ràng vào Lifecycle 2.5.1SavedState 1.2.0. (I7e3e2)
  • Thêm tính năng hỗ trợ cho lệnh gọi lại được gọi lại cho AppCompatDelegate, đồng thời triển khai Thanh công cụ do AppCompat cung cấp. (I24062)
  • Hoàn tất các API AppCompat cho phiên bản 1.5.0-beta01 (I2a43d, b/236866227)
  • Hoàn tất các API AppCompat cho phiên bản 1.5.0-beta01 (I2a43d, b/236866227)

Phiên bản 1.6.0-alpha05

Ngày 15 tháng 6 năm 2022

Phát hành androidx.appcompat:appcompat:1.6.0-alpha05androidx.appcompat:appcompat-resources:1.6.0-alpha05. Phiên bản 1.6.0-alpha05 được phát triển trong một nhánh phát hành riêng trước và không có nhật ký cam kết.

Các thay đổi về API

  • Các nội dung cập nhật tính chất rỗng được sử dụng phù hợp với giao diện API đã hoàn thiện trong SDK Tiramisu Beta 3
  • minCompileSdk hiện đã là cấp 33 để phù hợp với SDK Tiramisu Beta 3

Phiên bản 1.6.0-alpha04

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

Phát hành androidx.appcompat:appcompat:1.6.0-alpha04androidx.appcompat:appcompat-resources:1.6.0-alpha04. Thư viện này được phát triển dựa trên một nhánh phát hành riêng trước, vì vậy không có nhật ký cam kết.

Các thay đổi về API

  • Thêm API để cho phép MDC-Android sử dụng ghi đè quy tắc hạn chế chiều rộng SwitchCompat

Sửa lỗi

  • Tránh cấu hình được quản lý khi cấu hình thay đổi bên ngoài attachBaseConfig

Phiên bản 1.6.0-alpha03

Ngày 27 tháng 4 năm 2022

Phát hành androidx.appcompat:appcompat:1.6.0-alpha03androidx.appcompat:appcompat-resources:1.6.0-alpha03.

Phiên bản này yêu cầu Android 13 Beta 1 phải biên dịch và không đảm bảo tương thích với thời gian chạy với các bản xem trước dành cho nhà phát triển trong tương lai.

Tính năng mới

  • Hỗ trợ lựa chọn ngôn ngữ tuỳ chỉnh trên toàn ứng dụng qua AppCompatDelegate.setApplicationLocales(). Người được uỷ quyền triển khai nền tảng trên API 33 trở lên.

Phiên bản 1.6.0-alpha01

Ngày 23 tháng 2 năm 2022

Phát hành androidx.appcompat:appcompat:1.6.0-alpha01androidx.appcompat:appcompat-resources:1.6.0-alpha01. Phiên bản 1.6.0-alpha01 được xây dựng từ một nhánh nội bộ và không có thay đổi nào hiển thị công khai.

Phiên bản này cần có Android Tiramisu DP1 để biên dịch và không đảm bảo sẽ tương thích về thời gian chạy với các bản dùng thử sau này dành cho nhà phát triển.

Tính năng mới

  • Hỗ trợ tuỳ chỉnh ngôn ngữ ứng dụng. Xem AppCompatDelegate.setApplicationLocales(LocaleListCompat) để biết thêm thông tin. Cung cấp khả năng tương thích ngược cho API tuỳ chọn theo từng ngôn ngữ mới trong Android 13.

Phiên bản 1.5.1

Phiên bản 1.5.1

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

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

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

Phiên bản 1.5.0

Phiên bản 1.5.0

Ngày 10 tháng 8 năm 2022

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

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

  • Phiên bản ổn định này bao gồm các điểm cải tiến về độ ổn định của chế độ ban đêm, sửa một số lỗi và hỗ trợ phủ màu có thể vẽ kết hợp cho các tiện ích văn bản do AppCompat hỗ trợ, cũng như các cải tiến về khả năng sử dụng API. Vui lòng xem các ghi chú phát hành của chuỗi 1.5.0 trước đó để biết danh sách chi tiết những thay đổi.

Phiên bản 1.5.0-rc01

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

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

Sửa lỗi

  • Khắc phục vấn đề khi trình bao bọc ngữ cảnh của AppCompat sử dụng lại cách triển khai tài nguyên sao lưu của ngữ cảnh ứng dụng, dẫn đến việc uiMode bị ghi đè trên ngữ cảnh ứng dụng. (Idf9d5)

Phiên bản 1.5.0-beta01

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

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

Thay đổi API

  • Thêm một cờ có thể ghi đè để tắt nút chuyển đổi chiều rộng mặc định. (I37cb7)
  • Thêm chú thích @FloatRange vào API getter vị trí ngón tay cái (If524c)
  • Thêm chú thích tính chất rỗng bị thiếu vào AnimatedStateListDrawableCompat (Ieb4ec)

Sửa lỗi

  • Hoàn tất các AppCompat API cho phiên bản 1.5.0-beta01 (I2a43d, b/236866227)
  • Thay đổi giá trị className cho ActionMenuItemView để coi giá trị đó như một Button (I5ee1c)

Phiên bản 1.5.0-alpha01

Ngày 6 tháng 4 năm 2022

Phát hành androidx.appcompat:appcompat:1.5.0-alpha01androidx.appcompat:appcompat-resources:1.5.0-alpha01. Phiên bản 1.5.0-alpha01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm một API mới để hiển thị vị trí của nút chuyển cho các lớp con (I9bfb4)
  • Cập nhật giá trị rỗng để khớp với Tiramisu DP2 (I0cbb7)
  • Chế độ phủ màu có thể vẽ được kết hợp phía sau cho các tiện ích bắt nguồn từ TextView (Idf98c, b/165822337)
  • AppCompatDialog hiện mở rộng ComponentDialog để tương thích với OnBackPressedDispatcher (Id9b91, b/217620781)
  • SearchView.onQueryRefine() hiện là chế độ hiển thị được bảo vệ để cho phép ghi đè (I6cce0, b/212882845)

Sửa lỗi

  • AppCompat Toolbar hiện gọi API onPrepareMenu() của MenuHostHelper. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText sẽ không còn thiết lập lại được chế độ có thể nhấp hoặc có thể nhấp và giữ trong hàm dựng khi đặt trong XML (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView sẽ không ghi đè setKeyListener trong hàm dựng (I5c13a, b/208480173)
  • Appcompat sẽ không bao gồm các trường hợp củaNumberKeyListener đã chuyển đếnsetKeyListener, cho phépTextView để định cấu hình chính xác ngôn ngữ trênNumberKeyListeners (Ibf113 .b/207119921 )
  • Khắc phục sự cố với tất cả các lớp con NumberKeyListener được giới thiệu trong AppCompat 1.4.0 cho phép nhập các ký tự không mong muốn (như dấu câu) (Iede7a, b/207119921)

Phiên bản 1.4.2

Phiên bản 1.4.2

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

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

Sửa lỗi

  • Khắc phục sự cố trong đó AppCompatDelegateImpl thực hiện lệnh gọi nội bộ tới ensureSubDecor trước khi thanh thao tác được tạo (aosp/2048349, b/226648941)

Phiên bản 1.4.1

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

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

Sửa lỗi

  • AppCompatEditText, AppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView sẽ không gọi được lệnh ghi đè setKeyListener trong hàm khởi tạo (constructor). (I5c13a, b/208480173)
  • Emoji2 sẽ không gói các thực thể của NumberKeyListener, cho phép ngôn ngữ được định cấu hình bằng textview (khung hiển thị văn bản).
    • Appcompat sẽ không bọc các thực thể của NumberKeyListener được truyền vào setKeyListener, cho phép TextView cấu hình chính xác ngôn ngữ trên NumberKeyListeners. (Ibf113, b/207119921)
  • Khắc phục lỗi với tất cả lớp con NumberKeyListener được giới thiệu trong appcompat 1.4.0 cho phép nhập các ký tự không mong muốn (như dấu câu) (b/207119921) (Iede7a, b/207119921)

Phiên bản 1.4.0

Phiên bản 1.4.0

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

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

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

  • Thư viện hiện hướng đến ngôn ngữ Java 8
  • Mặc định bật tính năng hỗ trợ biểu tượng cảm xúc có thể cập nhật thông qua thư viện androidx.emoji2
  • Cải thiện thuộc tính kiểm tra trong công cụ Layout Inspector của Android Studio (I02d55)
  • Hỗ trợ tài nguyên phủ màu và các vectơ vẽ được lồng nhau cho các phiên bản cũ có sử dụng tài nguyên AppCompat. Tuy nhiên, lưu ý rằng điều này có nghĩa là ứng dụng không thể ghi đè getDrawable() trên đối tượng Resource (Tài nguyên) tuỳ chỉnh khi điều chỉnh cho phiên bản cũ. (Ia6b03, b/176129022)
  • Điều chỉnh cho phiên bản cũ hình nền có thể nhuộm màu và dấu kiểm cho CheckedTextView (I8575c)

Phiên bản 1.4.0-rc01

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

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

Phiên bản 1.4.0-beta01

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

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

Các thay đổi về API

  • AndroidX AppCompat Toolbar hiện là MenuHost và có thể quản lý các MenuProvider. (I5cd95)

Sửa lỗi

  • Khắc phục lỗi xử lý AppCompatProgressBar của các thanh tiến trình tạo ảnh layer list (I6ece3, b/142004509)
  • Giữ lại đúng android:digits trong AppCompatEditText, bản sửa lỗi này sẽ sửa lỗi 193047889 trong AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • Tích hợp SDK OnReceiveContentListener và các API thư viện hỗ trợ. (Ic6914, b/173814913)

Phiên bản 1.4.0-alpha03

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

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

Tính năng mới

  • Thư viện hiện hướng đến ngôn ngữ Java 8
  • Thêm hỗ trợ emoji2 cho các lớp con TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Các thay đổi về API

  • Thêm một API để định cấu hình InputConnection để sử dụng View.performReceiveContent để xử lý lệnh gọi IME đến InputConnection.commitContent. (I3a2ad)
  • Hỗ trợ EmojiCompat vào AppCompatMultiAutoCompleteTextView (Ifece0)
  • Hỗ trợ EmojiCompat vào AppCompatAutoCompleteTextView (Ia1f4b)
  • Hỗ trợ EmojiCompat vào AppCompatRadioButton (If08af)
  • Hỗ trợ EmojiCompat vào AppCompatCheckBox (I2b3bc)
  • Cho phép KeyListener rỗng trong AppCompatEditText. Điều này đảo ngược chú thích không nhận giá trị rỗng đã được thêm vào AppCompatEditText trong phiên bản 1.4-alpha01 và khôi phục hành vi trước đó khi được truyền giá trị rỗng. (I21482, b/189559345)
  • Thêm PopupMenu.setForceShowIcon để tương thích với các API nền tảng (I43bb3, b/182789798)

Sửa lỗi

  • Khắc phục lỗi trong AppCompatEditText sẽ đặt lại inputType được chỉ định trong XML để xoá các biến. Lỗi này được phát hiện trong AppCompat 1.4.0-alpha01. (I9df36, b/191061070)

Phiên bản 1.4.0-alpha02

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

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

Các thay đổi về API

  • Thêm hàm khởi tạo (constructor) AppCompatDialogFragment lấy mã nhận dạng bố cục (Icbf22, b/188119987)
  • Cải tiến hỗ Layout Inspector (I02d55)
  • Đổi tên gói trong emoji2-views-helper thành androidx.emoji2.viewsintegration. Đây là một thay đổi có thể gây lỗi cho AppCompat 1.4.0-alpha01 và các ứng dụng phải đảm bảo cập nhật phần phụ thuộc AppCompat để sử dụng phiên bản emoji2 mới. (Ie8397)

Sửa lỗi

  • Khắc phục lỗi các hoạt động bị dừng không nhận được các thay đổi cấu hình khi chế độ ban đêm do AppCompat đo lường thay đổi. (I8fa8f, b/188681415)
  • Khắc phục lỗi trong AppCompatEditText khiến các khung hiển thị có thể làm tâm điểm ngay cả khi đã chỉ định android:focusable="false" trong xml (lỗi được phát hiện trong AppCompat 1.4.0-alpha01) (Ib9412)

Phiên bản 1.4.0-alpha01

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

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

Các thay đổi về API

  • Tích hợp hỗ trợ EmojiCompat cho nhiều tiện ích AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
  • Hỗ trợ tài nguyên phủ màu và các vectơ vẽ được lồng nhau cho các phiên bản cũ có sử dụng tài nguyên AppCompat. Tuy nhiên, lưu ý rằng điều này có nghĩa là ứng dụng không thể ghi đè getDrawable() trên một đối tượng Resource (Tài nguyên) tuỳ chỉnh khi điều chỉnh cho phiên bản cũ. (Ia6b03, b/176129022)
  • Cải thiện tính năng hỗ trợ của Layout Inspector (I6d771)

Sửa lỗi

  • Khắc phục trường hợp lệnh gọi setSupportActionBar sau khi đặt lệnh gọi lại cửa sổ sẽ ghi đè lệnh gọi lại. (Ie43ee, b/186791590)
  • Thêm giải pháp tạm thời cho lỗi SDK 29 và 30 trong đó các tài nguyên ColorStateListDrawable sao chép từ bộ nhớ đệm có thể vẽ sẽ không tải màu mặc định cho đến khi nhận được sự thay đổi về trạng thái. (Iedb4b)
  • Tránh NPE khi xử lý các lệnh gọi lại chế độ thao tác lựa chọn tuỳ chỉnh rỗng trên các khung hiển thị được AppCompat hỗ trợ. (I033c7, b/173435375)

Cập nhật phần phụ thuộc

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

  • Điều chỉnh cho phiên bản cũ hình nền có thể nhuộm màu và dấu kiểm cho CheckedTextView (I8575c)

Phiên bản 1.3.1

Phiên bản 1.3.1

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

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

Cập nhật phần phụ thuộc

  • AppCompat giờ đây phụ thuộc vào Activity 1.2.4Fragment 1.3.6, mặc định bao gồm các bản sửa lỗi này khi sử dụng AppCompat 1.3.1. (I8fbec)

Phiên bản 1.3.0

Phiên bản 1.3.0

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

Phát hành androidx.appcompat:appcompat:1.3.0androidx.appcompat:appcompat-resources: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

  • Khắc phục lỗi truyền các thuộc tính android:theme trong các bố cục <include> trên các thiết bị sử dụng Lollipop và phiên bản trước đó
  • Giảm kích thước thư viện bằng cách chuyển đổi nhiều tài nguyên PNG thành VectorDrawables
  • Hỗ trợ các sự kiện kéo và thả vào AppCompatEditText thông qua OnReceiveContentListener
  • Cập nhật để hỗ trợ các thay đổi về cách xử lý phần lồng ghép cửa sổ trên Android 11
  • Hỗ trợ RTL trong các mục trong trình đơn có biểu tượng
  • Hỗ trợ chèn nội dung đa dạng thức (ví dụ: dán hình ảnh) trong AppCompatEditText

  • Cập nhật phần phụ thuộc: appcompat đã cập nhật nhiều phần phụ thuộc lồng ghép (transitive dependency) để hỗ trợ chức năng và bản sửa lỗi mới:

    • Cập nhật phiên bản Fragment 1.1.0 thành Fragment 1.3.4
    • Cập nhật phiên bản Activity (hoạt động) 1.0.0 thành Activity 1.2.3
    • Cập nhật phiên bản Lifecycle (vòng đời) 2.0.0 thành Lifecycle 2.3.1.
    • Cập nhật phiên bản Core 1.3.0 thành Core 1.5.0

Phiên bản 1.3.0-rc01

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

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

Sửa lỗi

  • Ngăn việc thu hồi quyền truy cập sớm khi xử lý hoạt động chèn nội dung IME

Cập nhật phần phụ thuộc

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

  • Khắc phục lỗi truyền thuộc tính android:theme trên các bố cục <include> trên các thiết bị sử dụng Lollipop và phiên bản trước đó (Simon Bergner tại Opera)

Phiên bản 1.3.0-beta01

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

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

Tính năng mới

  • Chế độ thao tác giao diện có thể vẽ được đã được thay thế bằng nguồn vectơ. Việc này có thể gây ra những thay đổi nhỏ cho giao diện của các biểu tượng riêng lẻ. (I741a6)

Các thay đổi về API

  • Tích hợp tính năng kéo và thả (thả sự kiện) trong AppCompatEditText với OnReceiveContentListener. (Ib26c9, b/175343405)
  • Cập nhật OnReceiveContentListener và các API liên quan. Xem các thay đổi đối với thư viện androidx.core để biết thêm thông tin. (Ib4616, b/173814913)
  • Di chuyển tiện ích.richContentReceiverCompat sang view.OnReceiveContentContentListener. (Ifdab7, b/173814913)
  • Các API để cung cấp và truy xuất văn bản xung quanh đã được điều chỉnh cho phiên bản cũ về EditorInfoCompat. Việc này cho phép tránh độ trễ IPC trên các ứng dụng IME. (Ie3809)

Phiên bản 1.3.0-alpha02

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

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

Sửa lỗi

  • Định dạng PNG có thể vẽ của AppCompatRatingBar đã được thay thế bằng nguồn vectơ. Điều này có thể gây ra những thay đổi nhỏ cho giao diện của từng ngôi sao. (I6b99d)
  • Cập nhật WindowInsetsCompat lên các API Android 11 (I3df9e)
  • Hỗ trợ RTL trong các mục trong trình đơn có biểu tượng (I2f5c5)

Cập nhật phần phụ thuộc

  • AppCompat đã cập nhật phần phụ thuộc từ Fragment 1.1.0 thành Fragment 1.3.0-alpha08. Đọc qua Ghi chú phát hành về Mảnh (Fragment) 1.2.0 để biết thêm về những thay đổi quan trọng trong bản phát hành trước đây về mảnh.
  • AppCompat đã cập nhật phần phụ thuộc từ Activity 1.0.0 thành Activity 1.2.0-alpha08. Đọc qua Ghi chú phát hành Activity 1.1.0 để biết thêm về những thay đổi chính trong bản phát hành Activity trước đó.
    • AppCompatActivity hiện sử dụng API OnContextAvailableListener trong Activity 1.2.0-alpha08 để thiết lập AppCompatDelegate. Mọi trình lắng nghe sự kiện được thêm vào các lớp con của AppCompatActivity sẽ chạy sau trình lắng nghe sự kiện này. (I513da)

Phiên bản 1.3.0-alpha01

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

Phát hành androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources: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

  • Thêm quy tắc tìm lỗi mã nguồn mới để gắn cờ các lệnh gọi tới setActionBar trên các hoạt động kế thừa AppCompatActivity
  • Hỗ trợ ViewTreeLifecycleOwner qua Lifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwner qua Lifecycle 2.3.0-alpha03ViewTreeSavedStateRegistryOwner qua SavedState 1.1.0-alpha01 khi sử dụng View trong AppCompatActivity. (b/151603528, aosp/1300264)
  • Thêm API dùng chung để chèn nội dung đa dạng thức (ví dụ: dán hình ảnh). Lệnh gọi lại mới cung cấp một API duy nhất mà các ứng dụng có thể triển khai để hỗ trợ nhiều cách chèn nội dung đa dạng thức. Hiện tại, API chỉ được thêm vào AppCompatEditText và sẽ được gọi cho các đường dẫn mã sau:
    • dán từ bảng nhớ tạm
    • chèn nội dung từ IME (InputConnection.commitContent) (I22bf7)

Sửa lỗi

  • Từ phiên bảnAppCompat 1.2.0-rc01: AppCompat không còn gọi đến onMenuOpened() bằng trình đơn null. (b/142843126)
  • Giải quyết chính xác đường liên kết văn bản và màu gợi ý trên các thiết bị cũ khi TextViewCompat.setTextAppearance được gọi bằng kiểu giao diện văn bản có danh sách trạng thái màu tham chiếu đến các thuộc tính màu giao diện (b/154702995)

Phiên bản 1.2.0

Phiên bản 1.2.0

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

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

Những thay đổi lớn từ phiên bản 1.1.0

  • Khắc phục tính năng hỗ trợ các trường hợp sử dụng ghi đè Cấu hình (Configuration), bao gồm cả tuỳ chỉnh ngôn ngữ và tỷ lệ phông chữ. Xem ví dụ tại đây để biết thêm về cách cài đặt chính xác lệnh ghi đè bằng appcompat:1.2.0.
  • Không dùng AppCompatDelegate.attachBaseContext() nữa. Nếu bạn đang gọi điện hoặc ghi đè phương thức này, sử dụng AppCompatDelegate.attachBaseContext2().
  • Không dùng CollapsibleActionView nữa. Giao diện này không còn cần thiết nữa, hãy sử dụng giao diện android.view.CollapsibleActionView do nền tảng cung cấp.

Phiên bản 1.2.0-rc02

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

Phát hành androidx.appcompat:appcompat:1.2.0-rc02androidx.appcompat:appcompat-resources:1.2.0-rc02. Phiên bản 1.2.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục lỗi liên quan đến chế độ ban đêm khi thỉnh thoảng gọi AppCompatDelegate.setDefaultNightMode qua hộp thoại sẽ không tái tạo được các hoạt động và áp dụng chế độ mới. (aosp/1348308, b/158923881)

Phiên bản 1.2.0-rc01

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

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

Các thay đổi về API

  • Đánh dấu AppCompatDelegate.setLocalNightMode là đòi hỏi SDK phiên bản 17 trở lên do có vấn đề về nền tảng với các thay đổi về cấu hình bị rò rỉ giữa các Hoạt động (Activity) trên các phiên bản SDK trước đó

Sửa lỗi

  • AppCompatDelegate.setLocalNightMode hiện có thể được gọi trước Activity.attachBaseContext
  • Khắc phục mức tiêu thụ phần lồng ghép ActionBarOverlayLayout mà đã sử dụng không chính xác các giá trị lồng ghép lưu trong bộ nhớ đệm
  • AppCompat không còn gọi onMenuOpened() bằng trình đơn null nữa. (b/142843126)

Phiên bản 1.2.0-beta01

Ngày 1 tháng 4 năm 2020

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

Tính năng mới

  • Bổ sung một số quy tắc tìm lỗi mã nguồn mới mà sẽ gắn cờ các cách sử dụng không chính xác của AppCompat trong các trường hợp sau:
    • Tải danh sách trạng thái màu: đề xuất sử dụng API ContextCompatAppCompatResources để tương thích ngược
    • Tải tài nguyên có thể vẽ: đề xuất sử dụng API ContextCompatResourcesCompat để tương thích ngược
    • Sử dụng danh sách trạng thái màu với thuộc tính alpha: gắn cờ thuộc tính android:alpha bị thiếu sẽ dẫn đến giao diện không chính xác trên một số phiên bản nền tảng
    • Thành phần hiển thị hình ảnh phủ màu: cờ không sử dụng app:tint sẽ khiến giao diện không chính xác trên các phiên bản nền tảng cũ
    • Sử dụng khung hiển thị văn bản kép có thể vẽ và phủ màu: đề xuất sử dụng các thuộc tính và API tương thích để tương thích ngược

Sửa lỗi

  • Khắc phục lỗi ActionBarOverlayLayout (thao tác trang trí cửa sổ) không gửi WindowInsets chính xác.
  • Khắc phục lỗi phủ màu các tài nguyên có thể vẽ và hiển thị văn bản trên các phiên bản cũ của nền tảng này
  • Khắc phục lỗi androidx.appcompat:appcompat:1.1.0 làm khung hiển thị web ngừng hoạt động khi người dùng nhấn và giữ khung hiển thị web (b/141351441)
  • Triển khai biện pháp khắc phục đối với lỗi về hành vi thao tính ngữ cảnh cơ sở và truy xuất dịch vụ hệ thống trong khi khởi động hoạt động

Phiên bản 1.2.0-alpha03

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

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

Sửa lỗi

  • Khắc phục lỗi trình bảo vệ trạng thái của chế độ thao tác mở rộng nhầm vào thanh điều hướng và có màu không đúng (Ia4a09)
  • Khắc phục lỗi các hoạt động bị dừng không tiếp tục trên API cấp 23 trở xuống (I45201)

Phiên bản 1.2.0-alpha02

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

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

Sửa lỗi

  • Khắc phục lỗi trong appcompat 1.1.0 khiến khung hiển thị web ngừng hoạt động khi nhấn và giữ (b/141351441)
  • Khắc phục lỗi phủ màu tài nguyên có thể vẽ trên TextView tương ứng với các tài nguyên kép có thể vẽ của trên API cấp 23 (aosp/1172194)
  • Đảm bảo ngữ cảnh cơ sở luôn là wrapper (trình bao bọc) (aosp/1194355)
  • Thêm một số điểm cải tiến để sửa đổi cấu hình ngữ cảnh cơ sở hiệu quả hơn (aosp/1204543)
  • Tắt createConfigurationContext() cho Robolectric (aosp/1186218)

Phiên bản 1.2.0-alpha01

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

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

Sửa lỗi

  • Các lệnh gọi đến PackageManager.getActivityInfo không gặp sự cố ngừng hoạt động nữa ở chế độ nghiêm ngặt (strict mode) khi bật tính năng kiểm tra nhận biết khởi động
  • Khắc phục lỗi phủ màu tài nguyên có thể vẽ trên AppCompatButton
  • Khắc phục lỗi hiển thị phủ màu và văn bản trên các phiên bản cũ của nền tảng này

Phiên bản 1.1.0

Phiên bản 1.1.0

Ngày 5 tháng 9 năm 2019

Phát hành androidx.appcompat:appcompat:1.1.0androidx.appcompat:appcompat-resources:1.1.0. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

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

  • Cải tiến chế độ tối: MODE_NIGHT_AUTO và tính năng chuyển đổi chế độ tối/sáng dựa trên thời gian hiện tại nay không được dùng nữa. Cân nhắc sử dụng một chế độ cài đặt rõ ràng hoặc MODE_NIGHT_AUTO_BATTERY.
  • Activity 1.0: AppCompatActivity hiện kế thừa lồng ghép (transitive) từ ComponentActivity của Activity 1.0.0 thông qua Fragment 1.1.0. Xem ghi chú phát hành liên quan để biết thêm thông tin về các thay đổi trong mỗi thư viện.
  • Hàm khởi tạo AppCompatActivity LayoutId: Giờ đây, bạn có thể gọi lớp con của AppCompatActivity trong hàm khởi tạo trên AppCompatActivity lấy mã nhận dạng R.layout, cho biết bố cục nào cần đặt làm khung hiển thị nội dung như một cách khác để gọi setContentView() trong onCreate(). Việc này không làm thay đổi yêu cầu lớp con có hàm khởi tạo không đối số.

Phiên bản 1.1.0-rc01

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

Phát hành androidx.appcompat:appcompat:1.1.0-rc01androidx.appcompat:appcompat-resources:1.1.0-rc01. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Sửa lỗi

  • DayNight hiện tuân thủconfigChanges một cách chính xác (aosp/981105)
  • Chỉ gọi onConfigurationChanged trên các Activity đã bắt đầu (aosp/987483)

Phiên bản 1.1.0-beta01

Ngày 5 tháng 6 năm 2019

Phát hành androidx.appcompat:appcompat:1.1.0-beta01androidx.appcompat:appcompat-resources:1.1.0-beta01. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Sửa lỗi

  • Dọn dẹp các bộ thu (receiver) trong AppCompatDialogs (aosp/959376)
  • Hỗ trợ buttonGravity=center_vertical trên thanh công cụ (b/130361721)
  • Sửa hiệu ứng bóng đổ theo chiều ngang của vòng quay (b/79477181)

Phiên bản 1.1.0-alpha05

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

Phát hành androidx.appcompat:appcompat:1.1.0-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

Sửa lỗi

  • Khắc phục một số lỗi trong chế độ DayNight
  • Vô hiệu hoá đường viền trên mọi thay đổi hình nền trong ActionBar
  • Khắc phục lỗi thao tác cuộn tiện ích vòng quay
  • Khắc phục lỗi các nền cửa sổ đặt tuỳ chỉnh bị ghi đè trong AlertDialog

Phiên bản 1.1.0-alpha04

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

Phát hành androidx.appcompat:appcompat:1.1.0-alpha04androidx.appcompat:appcompat-resources:1.1.0-alpha04. Bạn có thể xem các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • Thêm nhóm chủ đề ThemeOverlay.AppCompat.DayNight mới. Các nhóm chủ đề này nên được sử dụng khi sử dụng tính năng DayNight.

Thay đổi API

  • AppCompatActivity hiện chứa một hàm khởi tạo thứ hai sử dụng @LayoutRes int mà thay thế hành vi chú thích lớp AppCompatActivity trước đó bằng @ContentView. Cách tiếp cận này hoạt động trong cả mô-đun ứng dụng và thư viện. (b/128352521)

Sửa lỗi

  • Đã ghim những phần phụ thuộc nội bộ vào các phiên bản ổn định nếu có thể
  • Khắc phục lỗi cuộn AppCompatSpinner trong chế độ thả xuống (b/124274573)
  • Chỉ gọi applyOverrideConfiguration() nếu cần thiết cho DayNight

Phiên bản 1.1.0-alpha03

Ngày 13 tháng 3 năm 2019

Phát hành androidx.appcompat:appcompat:1.1.0-alpha03androidx.appcompat:appcompat-resources:1.1.0-alpha03. Đây là bản phát hành đầu tiên của appcompat-resources. Bạn có thể xem danh sách đầy đủ các thay đổi trong phiên bản này tại đây.

Tính năng mới

  • Thư viện appcompat-resources mới chứa các API cho phép ứng dụng tải và phủ màu các tài nguyên có thể vẽ (bao gồm các tài nguyên có thể vẽ vectơ) trên các phiên bản cũ hơn của nền tảng. Đây là chức năng tương tự chức năng lúc trước trong mô-đun appcompat, nhưng hiện đã có sẵn mà không cần chỉnh sửa cho phiên bản cũ toàn bộ appcompat của Material Design bao gồm các tiện ích, hộp thoại, chế độ ban đêm, v.v.
  • Các bản sửa lỗi chính để hỗ trợ chế độ DayNight
  • Tuỳ chọn MODE_NIGHT_AUTO_BATTERY mới cho chế độ DayNight
  • Phủ màu tài nguyên có thể vẽ trong AppCompatTextView
  • Thanh công cụ tràn (overflow) hiện có thể được tạo kiểu với danh sách trạng thái màu theo chủ đề
  • Giờ đây, các biểu tượng trình đơn có thể dùng những màu tham chiếu đến các thuộc tính chủ đề
  • Có thể đặt thuộc tính app:menu mới trên thanh công cụ để cung cấp nội dung trình đơn tại thời điểm tăng cường (inflation)

Sửa lỗi

  • Khắc phục lỗi chế độ phủ màu mặc định trên ImageView trong phiên bản 21
  • Khắc phục lỗi đóng cửa sổ vòng quay bật lên không chính xác khi xoay thiết bị
  • Khắc phục lỗi DayNight không tuân theo configChanges trong tệp kê khai
  • Khắc phục lỗi chuyển sang MODE_NIGHT_FOLLOW_SYSTEM không hoạt động (b/111345020)
  • Khắc phục lỗi WebView đặt lại Tài nguyên DayNight (b/37124582)

Phiên bản 1.1.0-alpha02

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

Phát hành androidx.appcompat:appcompat 1.1.0-alpha02.

Tính năng mới

  • Trích xuất tài nguyên có thể vẽ cụ thể tham chiếu đến hook (aosp/870976)
  • Cho phép titleTextColorsubtitleTextColor trong Thanh công cụ sử dụng ColorStateList và nạp chồng ColorStateList của phương thức setTitleTextColorsetSubtitleTextColor (aosp/867489)

Sửa lỗi

  • Khắc phục lỗi fontFamily không hoạt động trên API trước 24 (aosp/807054)
  • Khắc phục lỗi textFontWeight không hoạt động khi một activity thừa hưởng từ AppCompatActivity (aosp/847640)
  • Khắc phục lỗi khiến văn bản tiêu đề trên cửa sổ bật lên của tiện ích vòng quay (khi sử dụng chế độ hộp thoại) không sử dụng phông chữ được chỉ định trong fontFamily (aosp/789994)
  • Khắc phục lỗi ngăn các tiện ích AppCompatCheckBoxAppCompatRadioButton thay đổi tông màu nền (aosp/825160)
  • Khắc phục lỗi AppCompat không ghi đè android: list styles (aosp/862350)

Phiên bản 1.1.0-alpha01

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

Tính năng mới

  • AppCompatTextView hiện hỗ trợ các tài nguyên kép có thể vẽ app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompatapp:drawableEndCompat, hỗ trợ các loại tài nguyên có thể vẽ được điều chỉnh cho phiên bản cũ như VectorDrawableCompat.

  • Các tài nguyên có thể vẽ mặc định của AppCompatCheckBoxAppCompatRadioButton hiện tạo hiệu ứng động cho các thay đổi trạng thái kiểm tra.

Thay đổi API

  • aosp/740385: ActionBarOverlayLayout hiện kế thừa giao diện NestedScrollingParent2 và NestedscrollingParent3, cho phép tạo điều kiện thuận lợi cho chức năng mới nhất trong nested scrolling 3. Nếu mã nhà phát triển hiện đang ghi đè ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), thì mã này có thể sẽ không còn được gọi và thay vào đó là ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]) sẽ bị ghi đè.

Phiên bản 1.0.2

Phiên bản 1.0.2

Ngày 7 tháng 11 năm 2018

Bản phát hành sửa lỗi cho core-1.0.1appcompat-1.0.2.

Sửa lỗi

  • Khắc phục lỗi PrecomputedTextCompat gặp sự cố khi được sử dụng với RTL AppCompatTextView. b/113070424

Phiên bản 1.0.0

Phiên bản 1.0.0

Ngày 7 tháng 11 năm 2018

Tính năng mới