Lưu trữ bản sửa đổi thư viện hỗ trợ

Trang này cung cấp thông tin chi tiết về các bản phát hành gói Thư viện hỗ trợ cũ. Cho bản phát hành Thư viện hỗ trợ gần đây nhất, xem phần Gần đây Bản sửa đổi của Thư viện hỗ trợ.

Bản sửa đổi 26.0.0 Beta 2

(Tháng 6 năm 2017)

Xin lưu ý rằng 26.0.0-beta2 là phiên bản phát hành trước. Nền tảng API của công cụ này là có thể thay đổi và không nhất thiết bao gồm các tính năng hoặc bản sửa lỗi từ phiên bản ổn định mới nhất của Thư viện hỗ trợ.

Lưu ý quan trọng: Hiện đã có các thư viện hỗ trợ thông qua kho lưu trữ Maven của Google. Bạn không cần tải ứng dụng hỗ trợ xuống kho lưu trữ của Trình quản lý SDK. Để biết thêm thông tin, hãy xem Thiết lập Thư viện hỗ trợ.

API mới

Điểm khác biệt về API

Sửa lỗi

  • Sự sụt giảm SDK Android O khiến chữ in nghiêng trong TextView bị mất
  • Ngoại lệ về con trỏ rỗng khi kết nối với MediaBrowserServiceCompat
  • TextInputLayout phải đặt gợi ý đối với onProvideAutofillStructure()
  • Tràn ngăn xếp khi sử dụng tính năng tự động định cỡ TextView trên O

Bản sửa đổi 26.0.0 Beta 1

(Tháng 5 năm 2017)

Xin lưu ý rằng 26.0.0-beta1 là phiên bản phát hành trước. Nền tảng API của công cụ này là có thể thay đổi và không nhất thiết bao gồm các tính năng hoặc bản sửa lỗi từ phiên bản ổn định mới nhất của Thư viện hỗ trợ.

Lưu ý quan trọng: Hiện đã có các thư viện hỗ trợ thông qua kho lưu trữ Maven của Google. Bạn không cần tải ứng dụng hỗ trợ xuống kho lưu trữ của Trình quản lý SDK. Để biết thêm thông tin, hãy xem Thiết lập Thư viện hỗ trợ.

Nội dung thay đổi quan trọng:

  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() đã bị xóa. Vui lòng sử dụng các phương thức MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() tĩnh mới.
  • BottomNavigationView hiện đang gọi onNavigationItemReselected() khi một mục đã chọn được chọn, thay vì gọi onNavigationItemSelected().
  • Giờ đây, tất cả thực thể của phương thức findViewById() sẽ trả về <T extends View> T thay vì View. Sự thay đổi này có những tác động sau:
    • Điều này có thể khiến mã hiện tại có loại dữ liệu trả về không rõ ràng, chẳng hạn như nếu có cả someMethod(View)someMethod(TextView) nhận kết quả của cuộc gọi tới findViewById().
    • Khi sử dụng ngôn ngữ nguồn Java 8, bạn phải truyền rõ ràng tới View khi loại dữ liệu trả về không bị giới hạn (ví dụ: assertNotNull(findViewById(...)).someViewMethod())
    • Ghi đè các phương thức findViewById() không phải cuối cùng (cho ví dụ: Activity.findViewById()) sẽ cần trả về đã cập nhật loại.

API mới

  • FragmentManagerFragmentisStateSaved() để cho phép truy vấn xem có giao dịch sẽ được cho phép mà không bị mất trạng thái. Điều này đặc biệt hữu ích để kiểm tra khi xử lý sự kiện onClick() trước khi thực thi bất kỳ sự kiện nào giao dịch.
  • Chuyển động theo đường dẫn được hỗ trợ trong AnimatedVectorDrawableCompat. Chuyển động theo đường dẫn cho phép một trình tạo ảnh động cho đối tượng thay đổi hai thuộc tính cùng một lúc thời gian tính theo một lộ trình; đường dẫn được chỉ định là android:pathData trong XML của hoạ sĩ diễn hoạt).
  • Dựa trên kiến thức vật lý ảnh động:
    • FlingAnimation mới hỗ trợ tạo ảnh động bằng vận tốc ban đầu rồi từ từ chậm lại.
    • Các lớp con của DynamicAnimation hỗ trợ tạo ảnh động tuỳ chỉnh cho bất kỳ đối tượng nào.
    • Cả SpringAnimationFlingAnimation đều có thể hiện tạo ảnh động cho giá trị số thực độ chính xác đơn mà không yêu cầu View hoặc Object để liên kết với cuộc gọi đó.

    Để biết thêm thông tin, hãy xem Ảnh động vào mùa xuânẢnh động dạng ngón tay trang xem trước.

  • Phông chữ có thể hỗ trợ trong XML:
    • ResourcesCompat.getFont cho phép tải phông chữ các tài nguyên—bao gồm cả XML họ phông chữ—có thể được sử dụng với TextView.setTypeface()
    • Khi sử dụng AppCompat, TextView hỗ trợ chỉ định tài nguyên phông chữ hoặc XML của bộ phông chữ qua thuộc tính XML android:fontFamily.
    • Sử dụng bộ phông chữ XML để tạo các bộ phông chữ có kiểu và độ đậm biến thể. (Nếu bạn sử dụng các lớp thư viện hỗ trợ để thực hiện việc này, hãy sử dụng thuộc tính app: cũng như android: thuộc tính khác.)
  • Có thể tải xuống phông chữ:
    • FontsContractCompat mới cho phép bạn yêu cầu phông chữ từ một trình cung cấp phông chữ thay vì nhóm các phông chữ đó vào ứng dụng của bạn.
    • Bạn cũng có thể yêu cầu phông chữ trong XML và sử dụng trong bố cục.
  • Khả năng tương thích với biểu tượng cảm xúc thư viện:
    • EmojiCompat có thể xử lý một CharSequence nhất định và thêm EmojiSpans.
    • EmojiTextView và các tiện ích khác để hiển thị biểu tượng cảm xúc.
    • FontRequestEmojiCompatConfig để yêu cầu phông chữ biểu tượng cảm xúc từ trình cung cấp phông chữ.
  • Tự động định cỡ Chế độ xem văn bản:
    • Các phương thức mới trong TextViewCompat cũng như các thuộc tính XML để kiểm soát quá trình tự động định cỡ trong TextView.
  • Thư giãn các nút điều khiển chế độ phát có hỗ trợ tua:
    • PlaybackTransportRowPresenter mới kết xuất nội dung phát các nút điều khiển bằng Thanh dịch chuyển.
    • PlaybackTransportControlGlue mới hoạt động với PlaybackTransportRowPresenter và hỗ trợ tua.
    • Lớp cơ sở mới PlaybackSeekDataProvider dành cho ứng dụng để cung cấp hình thu nhỏ tua tới PlaybackTransportControlGlue.
  • Lưu trữ dữ liệu lựa chọn ưu tiên:
    • PreferenceDataStore hiện cho phép bạn triển khai mã của riêng mình bộ nhớ lựa chọn ưu tiên, được thiết lập bằng các phương thức mới trong PreferencePreferenceManager.

Vấn đề đã biết

  • Tích hợp khả năng tương thích với biểu tượng cảm xúc và phông chữ có thể tải xuống với Google Play Dịch vụ chỉ hoạt động trên Dịch vụ Google Play phiên bản 11 trở lên, hiện có sẵn thông qua Google Play Chương trình beta của Dịch vụ.

Sửa lỗi

  • API MediaBrowserCompat.search() không hoạt động (vấn đề về AOSP) 262170)
  • ViewCompat.postInvalidateOnAnimation() gửi ngoại lệ (AOSP) số 80146)
  • onActivityCreated() đã gọi các mảnh trong Hoạt động bị huỷ bỏ
  • RecyclerView.isComputingLayout() sẽ trả về giá trị true trong tìm nạp trước
  • Khi quá trình chuyển đổi Fade bị gián đoạn và bị đảo ngược, View bắt đầu tạo ảnh động từ đầu. (Đã chuyển bản sửa lỗi từ Android Framework.)
  • Transition.Fade bỏ qua giá trị alpha ban đầu của View (Vấn đề AOSP 221820)

Bản sửa đổi 26.0.0 Alpha 1

(Tháng 3 năm 2017)

Xin lưu ý rằng 26.0.0-alpha1 là phiên bản phát hành trước. Nền tảng API của công cụ này là có thể thay đổi và không nhất thiết bao gồm các tính năng hoặc bản sửa lỗi từ phiên bản ổn định mới nhất của Thư viện hỗ trợ.

Nội dung thay đổi quan trọng:

Lưu ý: Phiên bản SDK tối thiểu đã tăng lên 14. Kết quả là nhiều API chỉ tồn tại đối với API < 14 có khả năng tương thích không được dùng nữa. Các ứng dụng của các API này cần di chuyển sang khung của chúng tương đương như đã nêu trong trang tham khảo cho từng API không dùng nữa.

  • Mô-đun support-percent không còn được dùng nữa. Các khách hàng của mô-đun này phải di chuyển sang tiện ích ConstraintLayout mới, được cung cấp dưới dạng một cấu phần phần mềm riêng biệt trong Trình quản lý SDK.
  • Mô-đun support-fragment không còn phụ thuộc vào support-media-compat.

API mới

Nhiều lớp, phương thức và hằng số mới được bổ sung để cung cấp tính năng hỗ trợ có khả năng tương thích ngược cho các API nền tảng được thêm vào Bản xem trước O.

  • IME_FLAG_NO_PERSONALIZED_LEARNING: IME có thể theo dõi "chưa học được" cờ cho các ứng dụng có chế độ riêng tư, chẳng hạn như trình duyệt. Chiến dịch này tính năng này giúp các IME nắm được liệu một ứng dụng có đang ở chế độ riêng tư hay không. Nhờ đó, chúng tắt chức năng học tập hoặc thích ứng trong khi ứng dụng đang chạy .

Để biết danh sách đầy đủ các thay đổi đối với API từ phiên bản 25.2.0 đến 26.0.0-alpha1, hãy xem API thư viện hỗ trợ báo cáo sự khác biệt.

Sửa lỗi

  • Trong một số trường hợp, đơn giản AutoTransition ảnh động có thể bị gián đoạn bởi lượt xem "nhảy". (Vấn đề AOSP 221816)

Bản sửa đổi 25.4.0

(Tháng 6 năm 2017)

Lưu ý quan trọng: Hiện đã có các thư viện hỗ trợ thông qua kho lưu trữ Maven của Google. Bạn không cần tải ứng dụng hỗ trợ xuống kho lưu trữ của Trình quản lý SDK. Để biết thêm thông tin, hãy xem Thiết lập Thư viện hỗ trợ.

Nội dung thay đổi quan trọng:

  • Không cho phép thực hiện lệnh gọi giao dịch executePendingTransactions(), commitNow(), popBackStackImmediate() và các lệnh gọi giao dịch tương tự trong khoảng thời gian Trạng thái của FragmentManager sẽ thay đổi. Người đăng ký việc thực thi giao dịch không an toàn và FragmentManager hiện thực thi việc này trong trạng thái thay đổi.
  • Cùng với bản phát hành thư viện hỗ trợ này, chúng tôi cũng sẽ phát hành multidex phiên bản 1.0.2. Phiên bản này bao gồm các thay đổi quan trọng sau:
    • Cho phép đa phương tiện của APK đo lường.
    • Ngừng sử dụng MultiDexTestRunner (nên sử dụng AndroidJUnitRunner thay thế).
    • Giúp bảo vệ tốt hơn trước một số hoạt động trích xuất tệp lưu trữ không hợp lệ quản lý ứng dụng.
    • Khắc phục lỗi có thể khiến các tệp tạm thời bị bỏ qua.
    • Giúp cài đặt nhanh hơn khi thực hiện đồng thời quá trình.
    • Khắc phục lỗi cài đặt trên API 19 và 20.

API mới và API đã sửa đổi

Tính năng biến hình đường dẫn và nội suy đường dẫn được hỗ trợ trong AnimatedVectorDrawableCompat. Chuyển đổi đường dẫn cho phép các hình dạng thay đổi từ một đường dẫn (được chỉ định là android:valueFrom) đến một đường dẫn khác (được chỉ định là android:valueTo), để cung cấp hình ảnh phức tạp và hấp dẫn các hiệu ứng. Nội suy đường dẫn cho phép chỉ định bộ nội suy cho AnimatedVectorDrawableCompat dưới dạng đường dẫn (được chỉ định là android:pathData trong hàm nội suy XML).

Điểm khác biệt về API

Vấn đề đã khắc phục

  • Ngoại lệ về con trỏ rỗng khi kết nối với MediaBrowserServiceCompat
  • MediaBrowserCompat.search() API không hoạt động (vấn đề AOSP 262170)
  • Lệnh gọi lại BrowseFragment onItemClicked bị hỏng trong 25.3.0
  • NullPointerException trong khi di chuyển lên và xuống trong VerticalGridView trong 25.3.1
  • ClassCastException trong SimpleArrayMap.allocArrays()

Bản sửa đổi 25.3.1

(Tháng 3 năm 2017)

Vấn đề đã khắc phục

  • SwitchCompat yêu cầu SDK tối thiểu phiên bản 14 trở lên. (Vấn đề AOSP 251302)
  • Ảnh động dựa trên vật lý updateListener bỏ qua khung đầu tiên.
  • Ảnh động của nhãn BottomNavigationView bị hỏng.

Bản sửa đổi 25.3.0

(Tháng 3 năm 2017)

Nội dung thay đổi quan trọng:

Siêu dữ liệu phiên bản của Thư viện hỗ trợ sẽ tự động được thêm vào AndroidManifest.xml khi tạo bản dựng từ Gradle, giúp đơn giản hoá theo dõi các phiên bản trong các bản dựng công khai. Ví dụ:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

Ngừng sử dụng

Một số phương thức và lớp không còn được dùng trong bản phát hành này. Những API không dùng nữa này sẽ bị xoá trong phiên bản sắp tới và nhà phát triển nên di chuyển khỏi chúng. Để biết thêm thông tin về cách di chuyển khỏi API cụ thể, hãy tham khảo tài liệu tương ứng.

ExifInterface
Phương thức boolean getLatLong(float[]) không được dùng nữa. Thay vào đó, hãy sử dụng phương thức mới getLatLong(), Phương thức này không nhận đối số và trả về double[].
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) không được dùng nữa. Thay vào đó, hãy sử dụng phương thức mới setErrorMessage(int, CharSequence), được chuyển một mã lỗi và nội dung mô tả tuỳ chọn.
EXTRA_SUGGESTION_KEYWORDS không được dùng nữa. Thay vào đó, hãy sử dụng Chức năng tìm kiếm MediaBrowserCompat.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() đã được đổi tên thành LinearLayoutManager.getInitialPrefetchItemCount(). Tên cũ vẫn được hỗ trợ nhưng sẽ bị xoá trong bản phát hành sau này.

API mới và API đã sửa đổi

appcompat-v7
Phương pháp mới ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) đơn giản hoá việc tắt ảnh động của biểu tượng bật/tắt ngăn điều hướng.
customtabs
Hỗ trợ thêm các kênh tin nhắn. Xem CustomTabsService.requestPostMessageChannel()CustomTabsService.postMessage() để biết thông tin chi tiết.
dynamic-animation
Thư viện ảnh động mới dựa trên vật lý cung cấp một bộ API cho tạo ảnh động phản ứng động với hoạt động đầu vào của người dùng.
leanback-v17
Hỗ trợ thêm nền thị sai. Xem Parallax để biết thông tin chi tiết.
Đã thêm TimePicker để chọn thời gian trên giao diện TV.
mediacompat
Bổ sung chức năng tìm kiếm. Xem MediaBrowserCompat.search()MediaBrowserServiceCompat.onSearch() để biết thông tin chi tiết.
Đã thêm hỗ trợ cho chế độ trộn bài và lặp lại bài hát. Xem MediaSessionCompat.setRepeatMode()setShuffleModeEnabled() để biết thông tin chi tiết.

Vấn đề đã khắc phục

Bản sửa đổi 25.2.0

(Tháng 2 năm 2017)

Thay đổi quan trọng

Vấn đề đã khắc phục

  • Bản phát hành này khắc phục một vấn đề nghiêm trọng về bộ định tuyến phương tiện, trong đó việc sử dụng A2DP API định tuyến thiết bị và nội dung nghe nhìn có thể khiến thiết bị không phản hồi, yêu cầu khởi động lại.
  • FragmentManager.FragmentLifecycleCallbacks lớp hiện tại là tĩnh.

Vấn đề đã khắc phục

  • Việc hiển thị một bản trình bày trang trình bày có tính năng phản chiếu màn hình khiến thiết bị ngắt kết nối Wi-Fi
  • Nút nội dung đa phương tiện không xử lý đúng cách những ứng dụng đa phương tiện không đăng ký bản thân họ bằng setMediaButtonReceiver()
  • Lỗi VectorDrawable với tài nguyên chuỗi (vấn đề AOSP 232407)
  • Gợi ý cho lớp phủ TextInputLayout và văn bản nếu văn bản được thiết lập bởi XML (lỗi AOSP 230171)
  • Rò rỉ bộ nhớ trong MediaControllerCompat (vấn đề AOSP) 231441)
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() lỗi
  • RecyclerView gặp sự cố khi tái chế phần tử giữ khung hiển thị (vấn đề AOSP 225762)
  • getAllowGeneratedReplies() trả về giá trị false không chính xác cho các thao tác bên trong một WearableExtender

Bản sửa đổi 25.1.1

(Tháng 1 năm 2017)

Lưu ý quan trọng: Có một lỗi đã biết trong android.support.v7.media.MediaRouter trong bản sửa đổi 25.1.1 và 25.1.0 của Thư viện hỗ trợ. Nếu ứng dụng của bạn sử dụng MediaRouter phiên bản 7, bạn phải cập nhật lên Bản sửa đổi Thư viện hỗ trợ 25.2.0, để sửa lỗi này.

Thay đổi quan trọng

  • Giờ đây, giao dịch đối với mảnh có thể được tối ưu hoá bên trong và trên nhiều giao dịch. Việc tối ưu hoá hoạt động giao dịch mảnh có thể giúp loại bỏ các thao tác huỷ. Ví dụ: giả sử có hai giao dịch được thực thi cùng nhau, một mục thêm mảnh A và mảnh thứ hai thay thế phân mảnh A bằng phân mảnh B. Trong trường hợp này, thao tác đầu tiên có thể bị huỷ và chỉ thêm mảnh B. Tức là mảnh A có thể không trải qua vòng đời tạo/huỷ.

    Một tác dụng phụ của phương pháp tối ưu hoá này là các mảnh có thể có trạng thái thay đổi so với đơn đặt hàng dự kiến. Ví dụ: giả sử một giao dịch thêm mảnh A, thêm mảnh B, rồi thêm mảnh thứ ba Đáp: Khi không tối ưu hoá, phân mảnh B có thể chờ điều đó trong khi đang thực hiện thì mảnh A cũng sẽ tồn tại vì mảnh A sẽ bị xoá sau khi thêm phân mảnh B. Với tính năng tối ưu hoá, phân mảnh B không thể chắc chắn phân mảnh A sẽ tồn tại trong khi B được tạo, vì phân mảnh A việc tạo và huỷ bỏ có thể bị xoá bằng quy trình tối ưu hoá.

    Tính năng tối ưu hoá này bị tắt theo mặc định. Để bật tính năng tối ưu hoá, gọi FragmentTransaction.setAllowOptimization(true).

  • Giờ đây, các mảnh có thể trì hoãn hiệu ứng chuyển đổi và ảnh động cho đến khi sẵn sàng sử dụng Fragment.postponeEnterTransition()Fragment.startPostponedEnterTransition(). API này tương tự như Activity.postponeEnterTransition()Activity.startPostponedEnterTransition() được dùng với hiệu ứng Chuyển đổi hoạt động.

Vấn đề đã khắc phục

Bản sửa đổi 25.1.0

(Tháng 12 năm 2016)

Lưu ý quan trọng: Có một lỗi đã biết trong android.support.v7.media.MediaRouter trong bản sửa đổi 25.1.1 và 25.1.0 của Thư viện hỗ trợ. Nếu ứng dụng của bạn sử dụng MediaRouter phiên bản 7, bạn phải cập nhật lên Bản sửa đổi Thư viện hỗ trợ 25.2.0, để sửa lỗi này.

Thay đổi quan trọng

  • Ứng dụng của các tiện ích RecyclerView lồng nhau (ví dụ: danh sách cuộn theo chiều dọc của danh sách cuộn ngang) có thể nhận được lợi ích đáng kể về hiệu suất bằng cách gợi ý số lượng trình quản lý bố cục của tiện ích RecyclerView bên trong các mục cần chuẩn bị trước khi cuộn trên màn hình. Gọi điện LinearLayoutManager.setInitialPrefetchItemCount(N), trong đó N là số lượt xem hiển thị của mỗi mục bên trong. Ví dụ: nếu danh sách ngang, bên trong hiển thị tối thiểu 3 chế độ xem mục, bạn có thể cải thiện hiệu suất bằng cách gọi LinearLayoutManager.setInitialPrefetchItemCount(4). Đang thực hiện cho phép RecyclerView tạo mọi thông tin liên quan chế độ xem từ sớm, trong khi RecyclerView bên ngoài đang cuộn, điều này giúp giảm đáng kể thời gian kết xuất gián đoạn trong cuộn lên.
  • FragmentActivity.setSupportMediaController()FragmentActivity.getSupportMediaController() không được dùng nữa. Vui lòng sử dụng MediaControllerCompat.setMediaController()MediaControllerCompat.getMediaController() tĩnh mới .
  • Khi ứng dụng chỉ định sắc thái màu cho tiện ích thông qua tính năng phủ màu appcompat (ví dụ: appcompat:buttonTint), khách hàng chịu trách nhiệm cung cấp tất cả các trạng thái cần thiết (chẳng hạn như "đã tắt", "đã nhấn", v.v.). Đây là phù hợp với cách chỉ định sắc thái màu tiện ích khi sử dụng tính năng phủ màu khung.

API mới và API đã sửa đổi

Vấn đề đã khắc phục

  • Nút bật/tắt chế độ hiển thị mật khẩu không thành công trong các bài kiểm thử khả năng hỗ trợ tiếp cận.
  • Appcompat không tuân theo state_enabled trên các thiết bị trước L.
  • Thêm cơ chế khôi phục tiêu điểm vào RecyclerView. Thao tác này cũng khắc phục lỗi hỗ trợ v.v. các mảnh bị hỏng tiêu điểm khi sử dụng chế độ điều hướng DPAD, chẳng hạn như trên Android TV thiết bị.
  • Leanback: BrowseFragment gặp sự cố với tiêu đề bị tắt và bộ chuyển đổi trống.
  • Tương thích: AlertDialog quá rộng.
  • InputContentInfoCompat cuộc gọi requestPermission() khi nào cần gọi releasePermission().
  • MediaBrowserCompat sự cố.
  • CoordinatorLayout đo lường/bố trí khung hiển thị khi chế độ hiển thị được đặt thành GONE.
  • Không thể phủ màu AnimatedVectorDrawableCompat ở cấp độ API dưới 24
  • Thư viện Leanback kích hoạt lỗi tìm lỗi mã nguồn giả
  • Thư viện Palette (Bảng khung hiển thị) gây ra lỗi kiểm thử ở mọi cấp độ API
  • RecyclerView kiểm tra không thành công trên Leanback
  • RecyclerView gặp sự cố khi tái chế phần tử giữ khung hiển thị (vấn đề AOSP 225762)
  • Fragment.onDestroy() không được gọi cho mảnh trong ngăn xếp lui
  • Màn hình CollapsingToolbarLayout đang không được vẽ khi thu gọn
  • CoordinatorLayout.offsetChildByInset() ném bóng IllegalArgumentException
  • Tách ảnh động RecyclerView mục RecyclerView bên trong, ngăn chặn tương lai tìm nạp trước
  • Không thể đính kèm RecyclerView mục được tìm nạp trước lồng ghép
  • Tìm nạp trước dữ liệu cho RecyclerView được lồng các mục bị loại bỏ trong bố cục đầu tiên
  • Quá trình tìm nạp trước RecyclerView sẽ không thành công nếu hai lần kéo các sự kiện đến cùng vị trí
  • RecyclerView phải theo suy đoán bố cục trong khi RenderThread đang kết xuất
  • Tài nguyên màu được định cấu hình ban đêm không phải lúc nào cũng được chuyển đổi thành Đối tượng có thể vẽ xóa hoàn toàn khỏi bộ nhớ đệm của Tài nguyên
  • FloatingActionButton: Việc đặt BackgroundTintList theo phương thức lập trình không hoạt động đúng cách (AOSP) vấn đề 227428)
  • TextInputLayout: Kiểu chữ thì không đang thiết lập cho ErrorView (vấn đề AOSP (Dự án nguồn mở Android) 227803)
  • TextInputLayout luôn quay lại sử dụng thành màu lỗi sáng dưới API 23 (lỗi AOSP 221992)
  • FloatingActionButton hiển thị dưới dạng nhấn khi con trỏ rời khỏi

Danh sách đầy đủ các bản sửa lỗi công khai có trên Công cụ theo dõi lỗi AOSP.

Ngừng sử dụng

Một số phương thức và lớp không còn được dùng trong bản phát hành này. Các các API không dùng nữa sẽ bị xoá trong phiên bản sau này và nhà phát triển nên di chuyển khỏi chúng. Để biết thêm thông tin về cách di chuyển khỏi API cụ thể, hãy tham khảo tài liệu tương ứng.

Bản sửa đổi 25.0.1

(Tháng 11 năm 2016)

Vấn đề đã khắc phục

  • Bật/tắt mật khẩu TextInputLayout hiện được tắt theo mặc định để tránh ghi đè một cách không cần thiết cuối cùng do nhà phát triển chỉ định. Tính năng này có thể được bật theo cách thủ công qua Thuộc tính XML passwordToggleEnabled.
  • BottomNavigationView mục hiện tại để khớp với thông số kỹ thuật của Material.
  • RecyclerView gặp sự cố trong quá trình tìm nạp trước nếu trình quản lý bố cục rỗng.
  • Độ cao BottomNavigationView là hiện đã được đặt đúng cách. (Vấn đề AOSP 226182)
  • BottomNavigationView gặp sự cố khi thêm các mục trong trình đơn theo phương thức lập trình. (Vấn đề AOSP 225731)
  • Sửa sang TextInputLayout trái+phải phức hợp có thể vẽ. (Vấn đề AOSP 225836)
  • RecyclerView gặp sự cố khi tái chế phần tử giữ khung hiển thị. (Vấn đề AOSP 225762)
  • Leanback: TalkBack thường xuyên nói từ "null" ở chế độ xem chia đôi màn hình.
  • RecyclerView: Sự cố khi kết xuất trong Android Studio. (Vấn đề AOSP 225753)
  • BottomNavigationView vẫn đang hiện mục trong trình đơn như được chọn sau khi onNavigationItemSelected() trả về false. (Vấn đề AOSP 225898)
  • Trình nghe chuyển tiếp sẽ gửi NoSuchMethodError. (AOSP) vấn đề 225647)
  • TextInputEditText không hiển thị các gợi ý trong chế độ trích xuất IME. (Vấn đề AOSP 221880)

Danh sách đầy đủ các bản sửa lỗi công khai có trên Công cụ theo dõi lỗi AOSP.

Bản sửa đổi 25.0.0

(Tháng 10 năm 2016)

Nội dung thay đổi quan trọng:

  • Hàm khởi tạo ContextCompat đã được được bảo vệ. Bạn không nên tạo thực thể công khai cho lớp này, nhưng có thể được mở rộng bằng các thư viện hỗ trợ nhắm đến các cấp độ API mới hơn.
  • Đã tạo hàm khởi tạo ActivityCompat được bảo vệ. Bạn không nên tạo thực thể công khai cho lớp này, nhưng có thể được mở rộng bằng các thư viện hỗ trợ nhắm đến các cấp độ API mới hơn.
  • Đã tạo getReferrer(Activity) tĩnh.
  • Xoá android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V). Mọi cách triển khai ứng dụng của phương thức này cần được xóa.
  • Xoá android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object). Các trường hợp sử dụng nên được thay thế bằng phương thức được đặt tên phù hợp fromMediaSession().
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) đã bị xóa. Nên thay thế cách sử dụng bằng cụm từ thích hợp hơn phương thức được đặt tên MediaSessionCompat.QueueItem#fromQueueItem.
  • Xoá android.support.v7.widget.Space. Mức sử dụng phải được thay thế bằng android.support.v4.widget.Space.

API mới

  • android.support.design.widget.BottomNavigationView lớp triển khai phần dưới cùng điều hướng trong thông số kỹ thuật của Material Design.
  • Gói android.support.v13.view.inputmethod mới bao gồm các lớp để truy cập vào các tính năng của android.view.inputmethod.InputConnection được giới thiệu sau API cấp 13.
  • android.v7.widget.RecyclerView.DividerItemDecoration lớp cung cấp cách triển khai cơ sở cho các đường phân chia dọc hoặc ngang giữa mục.
  • Phong cách trang trí mới trong android.support.v7.app.NotificationCompat, DecoratedCustomViewStyleDecoratedMediaCustomViewStyle, đã thêm các lớp học phản chiếu vào API nền tảng 24.

Vấn đề đã khắc phục

Danh sách đầy đủ các bản sửa lỗi công khai có trên Công cụ theo dõi lỗi AOSP.

Bản sửa đổi 24.2.1

Tháng 9 năm 2016

Sửa các vấn đề:

Danh sách đầy đủ các bản sửa lỗi công khai có trên Công cụ theo dõi lỗi AOSP.

Bản sửa đổi 24.2.0

Tháng 8 năm 2016

Bản phát hành 24.2.0 có các thay đổi sau:

Lưu ý: Bản phát hành 24.2.0 ngừng hỗ trợ Android 2.2 (API cấp 8) trở xuống. Các lớp và phương thức chỉ tồn tại để Các phiên bản hệ thống đó hiện được đánh dấu là không được dùng nữa và sẽ không được phép hiển thị nữa để sử dụng. Các lớp và phương thức không dùng nữa có thể bị xoá trong tương lai bản phát hành.

Phân tách Thư viện hỗ trợ phiên bản 4

Với bản phát hành này, Thư viện hỗ trợ phiên bản 4 đã đã được chia thành nhiều mô-đun nhỏ hơn:

support-compat
Cung cấp trình bao bọc khả năng tương thích cho các API khung mới, chẳng hạn như Context.getDrawable()View.performAccessibilityAction().
support-core-utils
Cung cấp một số lớp tiện ích, chẳng hạn như AsyncTaskLoaderPermissionChecker.
support-core-ui
Triển khai nhiều thành phần liên quan đến giao diện người dùng, chẳng hạn như ViewPager, NestedScrollViewExploreByTouchHelper.
support-media-compat
Điều chỉnh cho phiên bản cũ các phần của khung media bao gồm MediaBrowserMediaSession.
support-fragment
Điều chỉnh cho phiên bản cũ mảnh khung. Mô-đun này có các phần phụ thuộc trên support-compat, support-core-utils, support-core-uisupport-media-compat.

Để có khả năng tương thích ngược, nếu bạn liệt kê support-v4 trong Tập lệnh Gradle, APK của bạn sẽ bao gồm tất cả các mô-đun này. Tuy nhiên, để giảm Kích thước APK, bạn chỉ nên liệt kê các mô-đun cụ thể mà ứng dụng của bạn cần.

Các bản cập nhật API

Thay đổi về hành vi

  • Nếu bạn sử dụng chức năng ngày/đêm của thư viện appcompat, hệ thống giờ đây sẽ tự động tạo lại hoạt động của bạn mỗi khi chế độ ngày/đêm thay đổi (do thời gian trong ngày hoặc do bạn đã gọi đến AppCompatDelegate.setLocalNightMode()).
  • Snackbar hiện đang xếp sau thanh điều hướng nếu thanh trạng thái trong suốt.

Thư viện MediaRouter

Các thiết bị Bluetooth không còn được liệt kê là tuyến nội dung nghe nhìn nữa. Đang định tuyến âm thanh tới Giờ đây, bạn có thể kiểm soát hoàn toàn thiết bị Bluetooth ở cấp hệ thống Android.

Ngừng sử dụng

Các lớp và phương thức không dùng nữa có thể sẽ bị xoá trong bản phát hành sau này. Bạn nên di chuyển khỏi các API này càng sớm càng tốt.

  • Một số phương thức cho các lớp sau chỉ bắt buộc đối với API 8 và thấp hơn và không nên sử dụng nữa. Thay vào đó, hãy dùng khung này thực tế.
    • android.support.v4.view.KeyEventCompat: Thay thế bằng KeyEvent
    • android.support.v4.view.MotionEventCompat: Sử dụng MotionEvent
    • android.support.v4.view.ViewCompat: Sử dụng View
    • android.support.v4.view.ViewConfigurationCompat: Sử dụng ViewConfiguration
  • AccessibilityServiceInfoCompat.getDescription() đã bị ngừng sử dụng, thay vào đó là AccessibilityServiceInfoCompat.loadDescription(), để trả về thông tin mô tả được bản địa hoá chính xác.
  • Bạn không nên tạo thực thể cho lớp ActivityCompat trực tiếp. Phương thức getReferrer(Activity) không tĩnh sẽ là không áp dụng trong bản phát hành sắp tới.
  • CoordinatorLayout.Behavior.isDirty() đã ngừng hoạt động và không còn được dùng nữa do CoordinatorLayout gọi. Bất kỳ hạng nào các hoạt động triển khai, cũng như mọi lệnh gọi đến phương thức này, đều phải được xoá.
  • Ngừng sử dụng và thay thế MediaSessionCompat.obtain() bằng phương thức được đặt tên phù hợp hơn fromMediaSession()
  • Ngừng sử dụng MediaSessionCompat.QueueItem.obtain() và thay thế bằng phương thức có tên phù hợp hơn fromQueueItem()
  • Một số lớp trừu tượng đã không còn được dùng nữa và được thay thế bằng giao diện phản ánh chính xác hơn các tương đương khung.
  • Ngừng sử dụng CustomTabsSession.setToolbarItem() và thay thế bằng Dựa trên Chế độ xem từ xa setSecondaryToolbarViews().

Sửa lỗi

Các sự cố đã biết sau đây đã được khắc phục trong bản phát hành 24.2.0:

Danh sách đầy đủ các bản sửa lỗi công khai có trên Công cụ theo dõi lỗi AOSP.

Bản sửa đổi 24.1.1

Tháng 7 năm 2016

Sửa các vấn đề:

  • Khắc phục một vấn đề trong bản phát hành 24.1.0 ảnh hưởng đến mã nhận dạng tài nguyên được chia sẻ giữa các thư viện hỗ trợ. Vấn đề này khiến các ứng dụng phụ thuộc vào hỗ trợ các thư viện bằng các tài nguyên (chẳng hạn như thiết kế và khả năng tương thích với ứng dụng) để gặp phải vấn đề do mã nhận dạng tài nguyên không khớp.

Bản sửa đổi 24.1.0

Tháng 7 năm 2016

Các thay đổi đối với Hỗ trợ phiên bản 4 Thư viện:

Sửa các vấn đề:

Bản sửa đổi 24.0.0

Tháng 6 năm 2016

Các thay đổi đối với Hỗ trợ phiên bản 4 Thư viện:
  • Đã thêm vào Fragment.commitNow() cho cam kết đồng bộ
  • Đã thêm vào NotificationCompat.MessagingStyle cho các cuộc trò chuyện nhiều bên
  • Đã thêm vào NotificationManagerCompat.areNotificationsEnabled()getImportance()
  • MediaSessionCompat nay phản ánh chức năng của MediaSession và không tự động gọi setMediaButtonReceiver() nữa

Lưu ý: Chỉ có MediaBrowserServiceCompat trong phiên bản 24.0.0 mới là tương thích chuyển tiếp với các phiên bản Android trong tương lai (ngoài API 24). Nếu bạn đang sử dụng các phiên bản trước, hãy cập nhật lên phiên bản này để đảm bảo khả năng tương thích.

Các thay đổi cho phiên bản 7 thư viện appcompat:
  • Hỗ trợ thêm tính năng tham chiếu các đối tượng ColorStateList theo chủ đề từ XML
Các thay đổi đối với dịch vụ Hỗ trợ thiết kế Thư viện:
Các thay đổi đối với thư viện Leanback phiên bản 17:
  • Thêm OnboardingFragment để cung cấp lựa chọn chào mừng trong lần chạy đầu tiên và quy trình thiết lập
Các thay đổi đối với thẻ tuỳ chỉnh:
  • Thêm tính năng hỗ trợ để cung cấp RemoteViews hệ thống phân cấp của thanh công cụ phụ
  • Đã thêm vào CustomTabsClient.connectAndInitialize() để khởi động một dòng

Bản sửa đổi 23.4.0

Tháng 5 năm 2016

Các thay đổi đối với Hỗ trợ phiên bản 4 Thư viện:
  • Khắc phục vấn đề thêm các mảnh theo thứ tự không chính xác. (Vấn đề 206901)
  • Khắc phục vấn đề không vẽ được thanh ứng dụng sau khi cuộn ngoài màn hình. (Vấn đề 178037)
Các thay đổi cho phiên bản 7 thư viện appcompat:
Các thay đổi đối với dịch vụ Hỗ trợ thiết kế Thư viện:
Các thay đổi đối với thư viện Vectơ vẽ được:

Bản sửa đổi 23.3.0

Tháng 4 2016

Các thay đổi đối với Hỗ trợ phiên bản 4 Thư viện:
  • Đã thêm AppLaunchChecker để giúp theo dõi hiệu quả hoạt động của ứng dụng đã được người dùng khởi chạy trước đây. hasStartedFromLauncher() cho bạn biết liệu người dùng có đã khởi chạy ứng dụng của mình từ màn hình chính trước đó hoặc nếu ứng dụng chỉ được bắt đầu bằng cách khác (ví dụ: để xem trang web cụ thể URL).
  • Đã khắc phục sự cố rò rỉ bộ nhớ trong MediaBrowserServiceCompat.mConnections. (Vấn đề 205220)
  • Khắc phục vấn đề liên quan đến ViewPager không tính đến lề trang khi lật trang. (Vấn đề 203816)
  • Fragment.onRequestPermissionsResult() hiện đã được giao cho trẻ mảnh.
Các thay đổi cho phiên bản 7 thư viện appcompat:
Các thay đổi cho phiên bản 7 thư viện mediarouter:
Các thay đổi đối với Lựa chọn ưu tiên phiên bản 7 thư viện:
Các thay đổi cho phiên bản 7 thư viện recyclerview:
Các thay đổi đối với dịch vụ Hỗ trợ thiết kế Thư viện:

Bản sửa đổi 23.2.1

Tháng 3 2016

Các thay đổi đối với Hỗ trợ phiên bản 4 Thư viện:
Các thay đổi cho phiên bản 7 thư viện appcompat:
  • Huỷ bỏ phần phụ thuộc đối với thành phần vectơ để các nhà phát triển đang sử dụng tương thích với ứng dụng thư viện không bắt buộc phải sử dụng VectorDrawable và các cờ bản dựng liên kết.
  • Khắc phục vấn đề về khả năng tương thích với Chế độ ban đêm và API cấp 23. (Vấn đề 201910)
  • Khắc phục vấn đề về khả năng tương thích với SwitchCompat và API cấp 7. (Vấn đề 201942)
  • Khắc phục vấn đề truyền giá trị cấu hình trong các đối tượng Tài nguyên Lỗi 201928
  • Khắc phục vấn đề về khả năng tương thích, trong đó android.support.v7.app.NotificationCompat.MediaStyle nút huỷ bị ẩn ở cấp độ API 21 trở xuống. (Vấn đề 202156)
  • Khắc phục sự cố về khả năng tương thích với AppCompatSpinner trên API cấp 21 trở xuống. (Vấn đề 202246)
  • Khắc phục vấn đề về việc kiểu app:textAllCaps = "false" không cơ quan. (Vấn đề 202117)
  • Khắc phục sự cố khi khôi phục SearchView. (Vấn đề 201836)
  • Khắc phục tình trạng rò rỉ bộ nhớ xảy ra khi phủ màu tài nguyên có thể vẽ bằng cách sử dụng AppCompat. (Vấn đề 202379)
  • Khắc phục vấn đề với KeyEvent ở API cấp 11 và thấp hơn. (Vấn đề 202939)
Các thay đổi cho chế độ xem thẻ v7 thư viện:
Các thay đổi cho phiên bản 7 thư viện recyclerview:
Các thay đổi cho phiên bản 7 thư viện mediarouter:
Các thay đổi cho phiên bản 17 Thư viện Leanback:
  • Khắc phục một vấn đề với GridLayout.onAddFocusables() khiến bạn chọn sai mục.
  • Khắc phục vấn đề với hành động GuidedStepFragment biến mất sau khi thu gọn thao tác.
Các thay đổi đối với dịch vụ Hỗ trợ thiết kế Thư viện:
Các thay đổi đối với VectorDrawableCompat:

Bản sửa đổi 23.2.0

Tháng 2 2016

Các thay đổi đối với Thư viện hỗ trợ phiên bản 4:
  • Thêm MediaBrowserCompat để hỗ trợ MediaBrowserMediaBrowserServiceCompat để hỗ trợ MediaBrowserService. Thông tin này hữu ích khi kết nối dịch vụ nền của một ứng dụng đa phương tiện với các thành phần giao diện người dùng, cũng như tích hợp với Android Auto và Android Wear mà không cần API cấp 21 trở lên.
  • Hệ thống hiện gọi onActivityResult() cho một FragmentActivity được lồng.
Các thay đổi cho AppCompat phiên bản 7 thư viện:
  • Thêm chức năng Chế độ ban đêm vào API cấp 14 trở lên. Chuyển đổi giữa Material Giao diện sáng và tối Material dựa trên thời gian trong ngày hoặc cài đặt dành riêng cho ứng dụng.
    • Bạn có thể tìm thấy các giao diện ngày và đêm tại đây: <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): đặt chế độ mặc định của ứng dụng bằng cách truyền một trong các hằng số sau:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): ghi đè cài đặt chế độ ban đêm cho thành phần ứng dụng cục bộ.
    • AppCompatDelegate.getDefaultNightMode(): trả lại hàng chế độ ban đêm mặc định.
Các thay đổi đối với mediarouter phiên bản 7 thư viện:
Các thay đổi đối với Thư viện hỗ trợ thiết kế:
  • Đã thêm hỗ trợ cho dưới cùng trang tính. Trình bổ trợ tương tác BottomSheetBehavior cho phép khung hiển thị con của CoordinatorLayout hoạt động như bảng dưới cùng. Lớp cơ sở BottomSheetCallback cung cấp lệnh gọi lại để theo dõi các sự kiện ở bảng dưới cùng.
Các thay đổi đối với việc hỗ trợ CustomTabs thư viện:
  • Chrome Thẻ tuỳ chỉnh hiện cho phép các ứng dụng thêm thanh dưới cùng vào một thao tác ngoài nút hành động trên cùng hiện tại.
  • CustomTabsIntent.Builder.addToolBarItem(): thêm một hành động vào một tab tuỳ chỉnh. Bạn có thể sử dụng tính năng này để thêm nhiều nút.
  • CustomTabsSession.setToolBarItem(): cập nhật hình ảnh cho các mục trên thanh công cụ. Phương thức này chỉ thành công nếu được cung cấp mã hợp lệ và phiên trình duyệt đang chạy ở nền trước.
Thêm thư viện hỗ trợ VectorDrawable:
  • Hạng đã thêm:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • Thêm tính năng hỗ trợ cho các thành phần VectorDrawable vào ứng dụng chạy trên API cấp 7 trở lên. AnimatedVectorDrawable thành phần cũng được hỗ trợ trên API cấp 11 trở lên. Thành phần vectơ có thể là nhỏ hơn đáng kể so với thành phần hình ảnh và sẽ giúp giảm bằng cách giảm số lượng tài sản cần thiết để hỗ trợ nhiều màn hình thiết bị.
  • Thư viện này hiện là phần phụ thuộc của thư viện AppCompat phiên bản 7, cho phép nhà phát triển và AppCompat để dễ dàng sử dụng các vectơ vẽ được. Để sử dụng VectorDrawableCompat trong ImageButton hoặc ImageView, hãy sử dụng XML app:srcCompat hoặc setImageResource() .
  • Để tiếp tục tham chiếu mã thuộc tính trên API cấp 20 hoặc thấp hơn, hãy thêm cờ appt sau vào tệp build,gradle:
    • Nếu bạn đang tạo bằng trình bổ trợ Android cho Gradle 1.5.0 hoặc thấp hơn, hãy thêm đoạn mã sau vào tệp build.gradle:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • Nếu bạn đang tạo bằng trình bổ trợ Android cho Gradle 2.0.0 hoặc cao hơn, hãy thêm đoạn mã sau vào tệp build.gradle:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
Các thay đổi cho Leanback phiên bản 17 Thư viện:
  • Đã thêm các tính năng mới vào GuidedStepFragment, là thành phần hướng dẫn người dùng đưa ra một quyết định hoặc một loạt quyết định:
    • Đã thêm các thao tác của nút vào GuidedAction:
      • GuidedStepFragment.setButtonActions(): đặt danh sách GuidedAction nút người dùng có thể chọn trong chế độ xem Thao tác.
    • Các trường mô tả hiện có thể chỉnh sửa được:
      • GuidedAction.Builder.descriptionEditable(): khi truyền true, đặt nội dung mô tả của thao tác ở chế độ có thể chỉnh sửa.
      • GuidedAction.getEditDescription(): trả về thành phần có thể chỉnh sửa mô tả dưới dạng CharSequence.
    • Đã thêm danh sách thả xuống các hành động phụ:
      • GuidedAction.setSubActions(): thiết lập danh sách GuidedAction dưới dạng trình đơn thả xuống trình đơn gồm các hành động phụ.
  • Đã thêm tiện ích GuidedDatePickerAction cho chức năng DatePicker:
    • Ngày được chọn bằng các cột năm, tháng, ngày và có giá trị dải ô có thể tuỳ chỉnh.
    • GuidedDatePickerAction.Builder: lớp trình tạo cho đối tượng GuidedDatePickerAction.
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): đặt định dạng ngày mong muốn bằng cách truyền String gồm ba ký tự thích hợp, ví dụ: “YMD” hoặc “MDY”. Ngoài ra, hãy dùng thuộc tính XML datePickerFormat.
Các thay đổi đối với RecyclerView phiên bản 7 thư viện:
  • RecyclerView hiện đã có một người dùng chọn sử dụng có tên là AutoMeasure (Tự động đo lường), cho phép RecyclerView.LayoutManager dễ dàng gói hoặc xử lý các thông số đo lường khác nhau do mẹ của RecyclerView. Nó hỗ trợ tất cả tính năng ảnh động hiện có của RecyclerView.
    • Nếu bạn có RecyclerView.LayoutManager tuỳ chỉnh, hãy gọi setAutoMeasureEnabled(true) để bắt đầu sử dụng API AutoMeasure. Tất cả đối tượng RecyclerView.LayoutManager tích hợp sẵn bật tính năng tự động đo lường theo mặc định.
    • RecyclerView.LayoutManager không còn bỏ qua một số chế độ cài đặt RecyclerView.LayoutParams, chẳng hạn như MATCH_PARENT theo hướng cuộn.

      Lưu ý: Những quy định hạn chế bị gỡ bỏ này có thể khiến hành vi không mong muốn trong bố cục của mình. Đảm bảo bạn chỉ định rõ đúng tham số bố cục.

  • Khi cập nhật RecyclerView.ViewHolder có tải trọng thông tin, DefaultItemAnimator hiện đang tắt ảnh động thay đổi.
  • Bây giờ, bạn có thể sửa đổi tốc độ thoát ItemTouchHelper thành kiểm soát độ nhạy khi vuốt. Để vuốt dễ hoặc khó vuốt hơn, ghi đè getSwipeEscapeVelocity(float defaultValue) và sửa đổi defaultValue.

Bản sửa đổi 23.1.1

Tháng 11 năm 2015

Các thay đổi cho v7 recyclerview library:
  • Khắc phục sự cố xảy ra khi bạn thực hiện thao tác vuốt để đóng Lớp tiện ích ItemTouchHelper cung cấp, sau đó thêm một mặt hàng. (Vấn đề 190500)
Các thay đổi đối với thư viện lựa chọn ưu tiên phiên bản 7:
Các thay đổi đối với thư viện Hỗ trợ Leanback phiên bản 17:
  • Đã khắc phục một số vấn đề nội bộ trong thư viện này.
Các thay đổi đối với thư viện Hỗ trợ thiết kế:
  • Thêm phương thức getHeaderView vào lớp NavigationView.
  • Khắc phục vấn đề nền trong suốt cho đối tượng FloatingActionButton trên thiết bị chạy Android 4.0 (API cấp 15) trở xuống. (Vấn đề 183315)

Bản sửa đổi 23.1.0

Tháng 10 năm 2015

Các thay đổi đối với Thư viện hỗ trợ phiên bản 4:
  • Thêm tính năng hỗ trợ giao diện OnScrollChangedListener vào Tiện ích NestedScrollView. Nó cho phép bạn nhận lệnh gọi lại khi vị trí cuộn X hoặc Y thay đổi.
  • Đã thêm một lớp MediaButtonReceiver để chuyển tiếp các bộ điều khiển chế độ phát đã nhận đối với dịch vụ đang quản lý lớp MediaSessionCompat. Chiến lược phát hành đĩa đơn Lớp MediaSessionCompat có một hàm khởi tạo có thể tự động tìm trình nhận nút đa phương tiện trong tệp kê khai. Đáp nút nhận nút đa phương tiện là phần quan trọng để xử lý bộ điều khiển chế độ phát thông qua phần cứng hoặc thiết bị điều khiển Bluetooth.
Các thay đổi đối với thư viện appcompat phiên bản 7:
  • Thêm các tiện ích SeekbarImageButton của Material Design.
  • Cập nhật tiện ích ImageView để hỗ trợ tính năng phủ màu.
  • Cập nhật giao diện của tiện ích SwitchCompat.
Các thay đổi đối với thư viện mediarouter v7:
  • Thêm các tính năng sau vào lớp MediaRouteChooserDialog:
    • Cho thấy trang đang tải trong khi khám phá các nhà cung cấp định tuyến nội dung đa phương tiện.
    • Bao gồm biểu tượng loại thiết bị để nhận dạng thiết bị dễ dàng hơn.
    • Sắp xếp các tuyến đường theo tần suất sử dụng trong ứng dụng hiện tại.
    • Hỗ trợ chế độ ngang.
  • Thêm các tính năng sau vào lớp MediaRouteControllerDialog:
    • Nhận dạng quá trình truyền màn hình và cung cấp nội dung mô tả phù hợp.
    • Hỗ trợ nhiều kích thước ảnh bìa đĩa nhạc và tỷ lệ khung hình, đồng thời tải ảnh không đồng bộ.
    • Tự động chọn màu nội dung dựa trên màu chính của ứng dụng.
    • Điều chỉnh bố cục hộp thoại dựa trên không gian màn hình có sẵn trên thiết bị.
    • Hỗ trợ chế độ ngang.
Các thay đổi cho thư viện bảng khung hiển thị phiên bản 7:
  • Thêm phương thức setRegion() để hỗ trợ trích xuất màu từ một nội dung cụ thể vùng của đối tượng Bitmap.
Các thay đổi cho v7 recyclerview library:
  • Thêm API ảnh động cải tiến vào lớp ItemAnimator để cải thiện hiệu suất tuỳ chỉnh:
    • Các ảnh động thay đổi không còn thực thi hai bản sao của đối tượng ViewHolder nữa, cho phép hoạt ảnh nội dung mục. Ngoài ra, đối tượng ItemAnimator sẽ quyết định xem muốn sử dụng lại cùng một đối tượng ViewHolder hay tạo một đối tượng cái mới.
    • API bản ghi thông tin mới mang lại cho lớp ItemAnimator sự linh hoạt để thu thập dữ liệu vào đúng điểm trong vòng đời bố cục. Thông tin này sẽ xuất hiện sau đã truyền vào các lệnh gọi lại động.
  • Cung cấp kế hoạch chuyển đổi dễ dàng cho thay đổi về API không tương thích ngược này:
    • Nếu trước đây đã mở rộng lớp ItemAnimator, bạn có thể thay đổi lớp cơ sở của bạn lên SimpleItemAnimator và mã của bạn sẽ hoạt động như trước. Lớp SimpleItemAnimator cung cấp API cũ bằng cách gói API mới.
    • Đã xoá một số phương thức khỏi lớp ItemAnimator. Nội dung sau đây mã sẽ không biên dịch nữa:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      Bạn có thể thay thế bằng:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
Các thay đổi đối với phiên bản 7, phiên bản 14 và Thư viện Hỗ trợ lựa chọn ưu tiên phiên bản 17:
  • Xoá các API để kiểm soát hộp thoại EditText.
Các thay đổi đối với thư viện Hỗ trợ Leanback phiên bản 17:
  • Thêm phiên bản của lớp GuidedStepFragment cho Thư viện hỗ trợ (mở rộng android.support.v4.app.Fragment) cũng như cải thiện ảnh động và chuyển đổi.
  • Cập nhật lớp GuidedStepFragment để có thể đặt lớp này lên đầu nội dung hiện có.
  • Đã thêm khả năng chú thích các loại hoàn thành tìm kiếm khác nhau vào Lớp SearchFragment.
  • Thêm tính năng hỗ trợ chuyển đổi trang trình bày so le vào VerticalGridFragment .
Các thay đổi đối với thư viện Hỗ trợ thiết kế:
  • Đã thêm hỗ trợ đếm ký tự cho tiện ích TextInputLayout.
  • Thêm tính năng hỗ trợ chụp cạnh cho lớp AppBarLayout bằng cách thêm phương thức Hằng số SCROLL_FLAG_SNAP. Khi thao tác cuộn kết thúc, nếu khung hiển thị chỉ là có thể nhìn thấy một phần, thành phần hiển thị được chụp nhanh và cuộn đến cạnh gần nhất.
  • Thêm tính năng hỗ trợ cho khung hiển thị tuỳ chỉnh vào lớp NavigationView bằng cách sử dụng phương thức Thuộc tính app:actionLayout hoặc MenuItemCompat.setActionView() .
Các thay đổi đối với Thư viện hỗ trợ thẻ tuỳ chỉnh:
  • Thêm phương thức enableUrlBarHiding() vào CustomTabsIntent . Tính năng này cho phép khách hàng tuỳ chỉnh xem có tự động ẩn thanh URL hay không khi cuộn xuống.
  • Thêm phương thức setActionButton() vào CustomTabsSession . Chiến dịch này cho phép khách hàng thay đổi biểu tượng cho nút hành động tuỳ chỉnh trong một thẻ tuỳ chỉnh đã chạy.
  • Thêm hằng số TAB_SHOWNTAB_HIDDEN dưới dạng sự kiện mới cho phương thức onNavigationEvent của CustomTabsCallback .

Bản sửa đổi 23.0.1

Tháng 9 năm 2015

Các thay đổi đối với v7 và Thư viện Hỗ trợ lựa chọn ưu tiên phiên bản 14:
Các thay đổi đối với thư viện appcompat phiên bản 7:
  • Khắc phục các vấn đề trục trặc của lớp Fragment bằng cách giới hạn việc sử dụng tầng phần cứng lên Android 4.1 (API cấp 16) trở lên. (Vấn đề 183896)
  • Khắc phục sự cố các nút phần cứng không hoạt động khi một hoạt động đã đặt giá trị Toolbar lớp để đóng vai trò là ActionBar bằng cách sử dụng phương thức setSupportActionBar(). (Vấn đề 183334)
  • Cập nhật lớp AppCompatDialogFragment để không còn gửi Windows feature must be requested before adding content . (Vấn đề 183186)
Các thay đổi đối với thư viện Hỗ trợ thiết kế:
Các thay đổi đối với Thư viện hỗ trợ thẻ tuỳ chỉnh:

Bản sửa đổi 23

Tháng 8 năm 2015

Thêm các thư viện hỗ trợ mới:

Để xem danh sách đầy đủ các thay đổi đối với Thư viện hỗ trợ, hãy xem Hỗ trợ Báo cáo khác biệt của API thư viện.

Bản sửa đổi 22.2.1

Tháng 7 năm 2015

Các thay đổi đối với thư viện Hỗ trợ thiết kế:
  • Thêm các phương thức hide()show() vào phương thức Lớp FloatingActionButton cho lớp học có lập trình kích hoạt ảnh động.
  • Thêm hằng số LENGTH_INDEFINITE vào Lớp Snackbar để hiển thị thanh thông báo nhanh cho đến khi thanh thông báo bị đóng hoặc một thanh thông báo nhanh khác hiện lên. Ngoài ra, đã thêm setActionTextColor(int)setActionTextColor(ColorStateList) .
  • Thêm phương thức getSelectedTabPosition() vào phần tử Lớp TabLayout để truy xuất lớp thẻ đã chọn.
  • Cung cấp API hoàn toàn thông thạo cho Lớp android.support.v7.app.NotificationCompat.MediaStyle cho phương thức tạo chuỗi.
  • Thêm các phương thức tiện lợi vào RecyclerView để chèn hàng loạt các mục.

Để xem danh sách đầy đủ các thay đổi đối với Thư viện hỗ trợ, hãy xem Hỗ trợ Báo cáo khác biệt của API thư viện.

Bản sửa đổi 22.2.0

Tháng 5 năm 2015

Thêm thư viện Hỗ trợ thiết kế:
  • Đã thêm TextInputLayout để hiển thị EditText gợi ý và văn bản lỗi dưới dạng nhãn nổi.
  • Thêm FloatingActionButton để triển khai một trên giao diện của mình nút hành động nổi, hỗ trợ kích thước mặc định hoặc kích thước thu nhỏ.
  • Thêm Snackbar để cung cấp chức năng gọn nhẹ thông tin phản hồi bằng một thao tác không bắt buộc trong thanh thông báo nhanh dạng ảnh động.
  • Thêm TabLayout để triển khai các thao tác khắc phục và có thể cuộn thẻ dễ dàng tích hợp với ViewPager.
  • Thêm NavigationView để triển khai ngăn điều hướng bao gồm cả khả năng tăng cường các mục trong trình đơn thông qua Tài nguyên trình đơn.
  • Thêm CoordinatorLayout cho một mục đích chung bố cục, dùng để tạo các phần phụ thuộc giữa các khung hiển thị đồng cấp và cho phép phản ứng dễ dàng cuộn giữa các thành phần thông qua CoordinatorLayout.Behavior Nhiều thiết kế Các thành phần thư viện phải là thành phần con của CoordinatorLayout.
  • Thêm AppBarLayout, vùng chứa cho Toolbar và các chế độ xem khác (chẳng hạn như TabLayout) cho phản ứng với các sự kiện cuộn bằng cách cuộn ra khỏi màn hình, hiển thị trong phản ứng cuộn xuống hoặc thu gọn/thu gọn trước khi cuộn ra/vào màn hình.
  • Đã thêm CollapsingToolbarLayout để kiểm soát cách Toolbar thu gọn. Thanh công cụ có thể thu gọn theo: ghim các thành phần lên đầu màn hình trong khi màn hình thu gọn, giới thiệu cuộn thị sai của các thành phần như ImageView, hoặc thêm màu màn hình nội dung khi chế độ xem được thu gọn một phần.
Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
Các thay đổi đối với thư viện appcompat phiên bản 7:

Để xem danh sách đầy đủ các thay đổi đối với Thư viện hỗ trợ, hãy xem Hỗ trợ Báo cáo khác biệt của API thư viện.

Bản sửa đổi 22.1.0

Tháng 4 năm 2015

Các thay đổi đối với thư viện chú thích:
  • Thêm thư viện Chú thích để hỗ trợ hoạt động kiểm tra mã nâng cao. Chú thích được thêm dưới dạng thẻ siêu dữ liệu mà bạn đính kèm vào biến, thông số, và trả về giá trị để kiểm tra giá trị trả về của phương thức, các tham số đã truyền và biến và trường.
Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
Các thay đổi đối với thư viện appcompat phiên bản 7:
Các thay đổi đối với thư viện Leanback phiên bản 17:
Các thay đổi đối với thư viện recyclerview phiên bản:
  • Thêm SortedList lớp để hiển thị các mặt hàng trong thứ tự danh sách và cung cấp thông báo về các thay đổi đối với danh sách.
  • Đã thêm lớp SortedListAdapterCallback có thể liên kết một danh sách được sắp xếp với một Lớp RecyclerView.Adapter.
Các thay đổi đối với thư viện RenderScript v8:

Bản sửa đổi 22

Tháng 3 năm 2015

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Cập nhật phương thức getDrawable() để trả về một đối tượng có thể vẽ cho một mã tài nguyên cụ thể đã chỉ định, mật độ màn hình và giao diện.
  • Thêm phương thức setImportantForAccessibility() để bạn có thể cho biết liệu khung hiển thị có nên kích hoạt hay không sự kiện hỗ trợ tiếp cận.
  • Thêm phương thức getStatusBarBackgroundDrawable() để bạn có thể lấy nền của thanh trạng thái đối tượng có thể vẽ.
  • Thêm các phương thức vào phần NotificationCompat.CarExtender.UnreadConversation để các ứng dụng nhắn tin của Android Auto có thể truy xuất thêm dữ liệu thông báo.
  • Thêm phương thức getProgressCircleDiameter() để trả về đường kính của bố cục vòng tròn.
  • Đã thay đổi DrawerLayout mặc định màu của thanh trạng thái thành colorPrimaryDark.
Các thay đổi đối với thư viện appcompat phiên bản 7:
Các thay đổi đối với thư viện Leanback phiên bản 17:
  • Đã thêm getRecycledPoolSize() và Phương thức setRecycledPoolSize() để cho phép tuỳ chỉnh kích thước nhóm tái chế.
  • Thêm thuộc tính WRAP_CONTENT vào chế độ cài đặt chiều rộng bố cục để hỗ trợ nội dung được xuống dòng cho biểu tượng tiêu đề.
  • Đã xác định R.transition trong XML thành cải thiện thông tin cập nhật về hiệu ứng chuyển đổi.
  • Bật tính năng hỗ trợ cho bố cục từ phải sang trái.
  • Thêm tính năng hỗ trợ sự kiện chính phát và tạm dừng nội dung nghe nhìn vào Lớp PlaybackOverlayFragment.
  • Thêm các chuyển đổi nhập và trả lại vào Lớp BrowseFragment và Lớp DetailsFragment.
  • Thêm phương thức replace() để thay thế các mục trong mảng trình chuyển đổi của một đối tượng.
Các thay đổi đối với thư viện mediarouter phiên bản 7:
Các thay đổi đối với thư viện recyclerview phiên bản:

Bản sửa đổi 21.0.3

Tháng 12 năm 2014

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:

Bản sửa đổi 21.0.2

Tháng 11 năm 2014

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
Các thay đổi đối với thư viện appcompat phiên bản 7:
  • Thêm hàm khởi tạo PopupMenu để hỗ trợ cửa sổ bật lên mới .
  • Thêm tính năng hỗ trợ cho nội dung mô tả biểu tượng Thu gọn trong Toolbar .
  • Cập nhật tiện ích SearchView để hỗ trợ tính năng hiển thị commitIcon.
  • Xoá thuộc tính buttonGravity khỏi Lớp Toolbar.
Các thay đổi đối với thư viện chế độ xem thẻ phiên bản 7:
Các thay đổi đối với recyclerview phiên bản 7 thư viện:
Các thay đổi đối với thư viện Leanback phiên bản 17:
  • Bổ sung tính năng hỗ trợ để tạo các mảnh mã phiên bản 4.
  • Đã thay đổi màu văn bản phụ trên CardView.

Bản sửa đổi 21.0.1

Tháng 11 năm 2014

Đã thêm Thư viện hỗ trợ multidex hỗ trợ nhiều Tệp Dalvik có thể thực thi (DEX) để hỗ trợ tệp multi-dex trước Android 5.0.

Bản sửa đổi 21

Tháng 10 năm 2014

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Đã thêm hỗ trợ cho Fragment cho các thiết bị chạy Android 5.0 (API cấp 21). Lưu ý rằng quá trình chuyển đổi không ảnh hưởng đến các thiết bị đang chạy Android 4.4 trở xuống.
  • Thêm DocumentFile để dễ dàng thực hiện điểm chuyển đổi từ File khi làm việc với cây tài liệu. Tuy nhiên, lớp học này đòi hỏi mức hao tổn xử lý cao hơn so với Đã thêm DocumentsContract API vào Android 4.4 (API cấp 19). Vì vậy, bạn nên chuyển sang sử dụng DocumentsContract khi chạy trên Android 4.4 và cao hơn.
Các thay đổi đối với phiên bản Appcompat của phiên bản 7 thư viện:
  • Hỗ trợ thêm cho material thiết kế giao diện người dùng.
  • Thêm Toolbar để khái quát hoá chức năng của ActionBar đối với sử dụng trong bố cục ứng dụng.
  • Đã cập nhật ActionBarDrawerToggle, chứa ảnh động từ trình đơn đến mũi tên
  • Cập nhật các tiện ích phổ biến trên giao diện người dùng để cho phép phủ màu qua giao diện khi chạy trên các thiết bị sử dụng phiên bản Android 5.0 trước
  • Đã thêm SwitchCompat, điều chỉnh cho phiên bản cũ của tiện ích Switch đã được thêm vào Android 4.0 (API cấp 14).
Thư viện chế độ xem thẻ phiên bản 7 mới:
  • Đã thêm tiện ích CardView cung cấp cách triển khai tương thích với Material Design để hiển thị mục dữ liệu.
recyclerview phiên bản 7 mới thư viện:
  • Đã thêm tiện ích RecyclerView, mang đến một khung hiển thị danh sách linh hoạt để cung cấp một cửa sổ giới hạn thành một tập dữ liệu lớn.
Thư viện bảng khung hiển thị phiên bản 7 mới:
  • Đã thêm lớp Palette, cho phép bạn trích xuất các màu nổi bật từ một hình ảnh.
Thư viện Leanback phiên bản 17 mới:

Bản sửa đổi 20

Tháng 7 năm 2014

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Đã thêm tính năng hỗ trợ mở rộng về thông báo cho Android Wear trong NotificationCompat.WearableExtender, cho phép bạn để chỉ định tính năng dành riêng cho thiết bị đeo trong thông báo.
  • Đã thêm NotificationCompat.Action.WearableExtender, cho phép thêm thao tác trên thông báo trên thiết bị đeo.
  • Thêm NotificationManagerCompat để cho phép bạn để đưa ra các thông báo hỗ trợ thích hợp cho các tính năng dành cho thiết bị đeo.
  • Thêm RemoteInput, cho phép thiết bị cầm tay để nhận thông tin nhập bằng giọng nói từ một thông báo xuất hiện trên thiết bị đeo.
  • Cải thiện khả năng xử lý phản hồi chạm trong SwipeRefreshLayout.

Bản sửa đổi 19.1.0

Tháng 3 năm 2014

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Đã thêm lớp SwipeRefreshLayout, tính năng này cho phép người dùng làm mới nội dung của chế độ xem bằng cử chỉ vuốt.
  • Khắc phục các vấn đề về khả năng hỗ trợ tiếp cận với ngăn điều hướng.
Các thay đổi đối với thư viện appcompat phiên bản 7:
  • Khắc phục các sự cố nền với thanh thao tác.

Bản sửa đổi 19.0.1

Tháng 12 năm 2013

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Cải thiện PrintHelper bằng cách thêm tính năng không đồng bộ xử lý việc in ấn.
  • Sửa lớp gần đúng DrawerLayout của addChildrenForAccessibility() .
  • Khắc phục lỗi phản chiếu trang trình bày có thể vẽ trong ActionBarDrawerToggle.
  • Khắc phục lỗi tắt từng mục khi xoá một mục khỏi trình lặp của bộ sưu tập.
Các thay đổi đối với thư viện mediarouter v7:
Các thay đổi đối với thư viện tập lệnh kết xuất phiên bản 8
  • Thêm tính năng truyền lỗi cho lớp RenderScript.

Bản sửa đổi 19

Tháng 10 năm 2013

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Thêm tính năng hỗ trợ cho các API Bộ nhớ ngoài với getObbDirs(), getExternalFilesDirs(), getExternalCacheDirs(), và getStorageState(). Các phương thức trợ giúp này luôn trả về một đối tượng tệp duy nhất trên các thiết bị chạy Android 4.3 (API cấp 18) trở xuống. Khi chạy trên Android 4.4 (API cấp 19) trở lên, các phương thức này có thể trả về nhiều đối tượng tệp.
  • Thêm lớp PrintHelper hoạt động với In các API để in hình ảnh mà không cần phải viết mã tối thiểu.
  • Bổ sung tính năng hỗ trợ giao diện người dùng kéo để mở cho các trình đơn bật lên. Để biết thêm thông tin, hãy xem PopupMenuCompatListPopupWindowCompat
  • Cải thiện khả năng hỗ trợ tiếp cận với việc bổ sung Phương thức findFocus() trong AccessibilityNodeProviderCompat và Phương thức getLiveRegion() trong AccessibilityNodeInfoCompat.
  • Thêm lớp trợ giúp ScaleGestureDetectorCompat cho truy cập vào các phương thức cử chỉ điều chỉnh tỷ lệ mới.
  • Khắc phục sự cố với ActionBarDrawerToggle trong ngôn ngữ từ phải sang trái được hiển thị.
  • Đã sửa đổi tuỳ chọn AutoScrollHelper để tiêu thụ sự kiện chạm hoặc cho phép truyền chúng tới các chế độ xem khác.
Các thay đổi đối với thư viện mediarouter v7:
  • Hỗ trợ thêm tính năng thêm nội dung nghe nhìn vào hàng đợi phát nội dung nghe nhìn, thiết lập giá trị tiêu đề HTTP và nội dung nghe nhìn thời lượng phát.
  • Thêm các thao tác bắt đầu, lấy và kết thúc rõ ràng trong phiên để quản lý nội dung nghe nhìn một cách rõ ràng phiên phát lại bằng bộ định tuyến phương tiện.

Bản sửa đổi 18

Tháng 7 năm 2013

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Giao diện người dùng
    • Thêm BidiFormatter để xử lý chuỗi văn bản kết hợp văn bản được định dạng từ phải sang trái và trái sang phải.
    • Sửa đổi ViewPager để xử lý tốt hơn các trường hợp mà trình phân trang có chiều rộng đo được bằng 0 trong quá trình xử lý bố cục ban đầu.
    • Đã sửa đổi DrawerLayoutSlidingPaneLayout để không gửi trường hợp ngoại lệ cho đo lường trong khi chỉnh sửa mã dự án.
  • Hỗ trợ người khuyết tật
  • Nội dung đa phương tiện
    • Thêm TransportMediator lớp trợ giúp để quản lý kiểm soát truyền tải nội dung nghe nhìn, chẳng hạn như phát, tạm dừng, bỏ qua và các hành động khác đối với nội dung nghe nhìn.
    • Đã thêm DisplayManagerCompat để quản lý đầu ra cho một hoặc nhiều màn hình thiết bị.
  • Nội dung thay đổi khác
    • Thêm lớp trợ giúp WakefulBroadcastReceiver cho triển khai một mẫu chung là phát hiện sự kiện đánh thức thiết bị và chuyển công việc chuyển sang Service trong khi vẫn đảm bảo rằng thiết bị không quay lại ngủ trước khi quá trình chuyển giao hoàn tất.
    • Thêm hai API mới, commitContentChanged()rollbackContentChanged(), đến AsyncTaskLoader đến giúp xử lý cập nhật nền cho các thay đổi dữ liệu sau đó bị huỷ.
Thư viện appcompat phiên bản 7 mới:
  • Thêm ActionBar để cho phép triển khai phần thiết kế giao diện người dùng trên thanh tác vụ mẫu quay lại Android 2.1 (API cấp 7) trở lên. Để sử dụng lớp này, bạn cần mà bạn triển khai hoạt động bằng cách mở rộng giao diện người dùng mới Lớp ActionBarActivity.
Thư viện mediarouter v7 mới:

Thêm thư viện mediarouter mới cung cấp hỗ trợ cho bản xem trước dành cho nhà phát triển Google Cast. API thư viện mediarouter v7 cung cấp một phương tiện để kiểm soát việc định tuyến các kênh truyền thông và luồng truyền thông từ thiết bị hiện tại ra màn hình bên ngoài, loa và các thiết bị đích khác, có khả năng tương thích với Android 2.1 (API cấp 7). Xem Phiên bản 7 mediarouter để biết thêm thông tin.

API thư viện mediarouter v7 được giới thiệu trong phần Hỗ trợ Thư viện r18 có thể thay đổi trong các bản sửa đổi sau này của tính năng Hỗ trợ Thư viện. Tại thời điểm này, bạn chỉ nên sử dụng thư viện khi kết nối bằng Google Cast bản dùng thử cho nhà phát triển.

Bản sửa đổi 13

Tháng 5 năm 2013

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
Thư viện bố cục lưới phiên bản 7 mới:
  • Thêm GridLayout để cung cấp hỗ trợ cho Đối tượng bố cục GridLayout.
  • Thêm android.support.v7.widget.Space có thể dùng để tạo vùng trống trong đối tượng bố cục GridLayout.

Bản sửa đổi 12

Tháng 2 năm 2013

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Cải thiện hành vi tương tác cho ViewPager.
  • Đã khắc phục lỗi có thể khiến ViewPager chọn sai trang.
  • Khắc phục việc sử dụng phương thức removeView() trong khi bố cục cho ViewPager.
  • Khắc phục vấn đề với SearchViewCompat khi sử dụng phương thức nút quay lại để đóng sẽ không xoá văn bản tìm kiếm. Cách khắc phục này chỉ áp dụng cho lưu trữ API cấp 14 trở lên.

Bản sửa đổi 11

Tháng 11 năm 2012

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Giao diện người dùng
    • Thêm tính năng hỗ trợ cho các lớp Fragment lồng nhau.
    • Thêm các điểm cải tiến cho quy trình gỡ lỗi FragmentManager.
    • Khắc phục sự cố trong FragmentTabHost khi mảnh và tương tác với thẻ có thể dẫn đến mất trạng thái ListView.
    • Khắc phục vấn đề về gợi ý mà người dùng nhìn thấy trong FragmentStatePagerAdapter.
    • Đã thêm vào PageTransformer sang ViewPager để cho phép các ứng dụng cung cấp hành vi chuyển đổi tuỳ chỉnh để cuộn.
    • Đã thêm các tính năng mới và bản sửa lỗi vào TaskStackBuilder từ bản phát hành hiện tại.
    • Sửa PagerTitleStrip để theo dõi chính xác PagerAdapter hiện đang được sử dụng.
    • Khắc phục sự cố màn hình nhấp nháy, vị trí và đoạn cắt văn bản với PagerTitleStrip.
    • Sửa PagerTabStrip để tuân thủ khoảng đệm đúng cách khi vẽ dấu gạch dưới.
  • Hỗ trợ người khuyết tật
  • Thêm tính năng hỗ trợ cho các cử chỉ bằng GestureDetectorCompat.
  • Thêm tính năng hỗ trợ để thực hiện các thao tác ở cấp nguyên tử trên các tệp bằng cách sử dụng Lớp AtomicFile.
  • Thêm tính năng hỗ trợ cho tập hợp đầy đủ các phương thức make trong IntentCompat
  • Thêm phương thức trimToSize() trong Lớp tiện ích LruCache.
  • Cập nhật ConnectivityManagerCompat để nhận NetworkInfo từ CONNECTIVITY_ACTION truyền tin.

Bản sửa đổi 10

Tháng 8 năm 2012

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Thêm tính năng hỗ trợ cho các tính năng thông báo ra mắt trong Android 4.1 (API cấp 16) với các mục bổ sung vào NotificationCompat.

Bản sửa đổi 9

Tháng 6 năm 2012

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Hỗ trợ giao diện người dùng
    • Đã thêm hỗ trợ PagerTabStrip, cung cấp tính năng nâng cao chức năng khác ngoài PagerTitleStrip.
    • Sửa nhiều lỗi cho PagerTitleStripPagerTabStrip, bao gồm cả tuỳ chọn setAllCaps, căn chỉnh tiêu đề, các cải tiến về giao diện, hạn chế chiều rộng tối thiểu và các vấn đề điều hướng bằng thao tác chạm.
    • Thêm tính năng hỗ trợ định hướng trang ViewPager giúp lớp ViewPager cung cấp tính năng hỗ trợ phân trang cho nội dung có một dải cuộn lớn theo chiều ngang, chẳng hạn như bản đồ.
    • Sửa nhiều lỗi cho ViewPager, bao gồm cả kích thước và sự cố thay đổi tập dữ liệu, vị trí trang, tương tác của người dùng, theo dõi cuộn và bàn phím vấn đề điều hướng.
    • Sửa nhiều lỗi cho Fragment, bao gồm lỗi thích hợp xử lý onActivityResult() khi mảnh mục tiêu không còn tồn tại, gửi sự kiện lựa chọn đến các mảnh vô hình, được cải thiện Hành vi của FragmentTransaction.replace() và thêm khả năng xử lý trạng thái tốt hơn cho các mảnh bị di chuyển ra khỏi khung hiển thị.
    • Bổ sung tính năng hỗ trợ cho phương thức postOnAnimation() trong ViewCompat.
    • Cập nhật NavUtils để sử dụng Android 4.1 (API cấp 16) Chức năng di chuyển lên (nếu có).
  • Hỗ trợ người khuyết tật
    • Cập nhật các lớp hỗ trợ tiếp cận, bao gồm cả AccessibilityNodeInfoCompat, để tuân theo các bản sửa lỗi được thực hiện trong Android 4.1 (API cấp 16).
    • Thêm tính năng hỗ trợ các thao tác cuộn hỗ trợ tiếp cận trong ViewPager.
  • Cải tiến chung

Bản sửa đổi 8

Tháng 4 năm 2012

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Sửa cờ ý định cho các đối tượng PendingIntent đã tạo của TaskStackBuilder.
  • Xoá các thuộc tính không dùng đến khỏi các dự án thư viện layoutlayout để đảm bảo Bạn có thể xây dựng thư viện bằng API cấp 7 trở lên.
  • Thêm các tệp .classpath.project cho lướilayout dự án thư viện của chúng tôi.

Bản sửa đổi 7

Tháng 3 năm 2012

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Thêm ShareCompat, cung cấp các lớp trợ giúp để gửi và nhận nội dung cho ứng dụng chia sẻ qua mạng xã hội, bao gồm cả siêu dữ liệu mới cho phân bổ dữ liệu được chia sẻ cho ứng dụng nguồn. Lớp này cũng cung cấp dịch vụ tích hợp tương thích với ShareActionProvider mới trong Android 4.0.
  • Thêm NavUtilsTaskStackBuilder để hỗ trợ triển khai Nguyên tắc Thiết kế Android cho hoạt động điều hướng. Các Các bổ sung này bao gồm cách triển khai nút Up (Lên) của thanh tác vụ trên các phiên bản. Để tham khảo ví dụ về cách triển khai mẫu này, hãy xem mẫu AppNavigation trong (<em><sdk></em>/samples/<em><platform></em>/AppNavigation).
  • Thêm NotificationCompat.Builder để cung cấp triển khai khả năng tương thích của lớp trợ giúp Notification.Builder của Android 3.0 để tạo các thông báo hệ thống chuẩn hoá.

Bản sửa đổi 6

Tháng 12 năm 2011

Lưu ý: Tài liệu tham khảo dành cho API thư viện hỗ trợ hiện có sẵn với tham chiếu khung, ví dụ: android.support.v4.app.

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Các thay đổi đối với ViewPager:
    • Thêm tuỳ chọn hỗ trợ bổ sung cho thành phần hiển thị trang trí cho ViewPager. Bạn có thể cung cấp khung hiển thị trang trí dưới dạng khung hiển thị con của trình phân trang trong bố cục XML.
    • Thêm PagerAdapter.getPageTitle() để cung cấp chuỗi tiêu đề cho các trang (giá trị mặc định là không) cho mỗi trang.
    • Thêm PagerTitleStrip, một tiêu đề không tương tác dải, có thể được thêm vào làm phần tử con của ViewPager. Nhà phát triển có thể cung cấp văn bản giao diện và màu sắc, cũng như thông tin về kích thước bố cục và trọng lực.
    • Cập nhật các phương thức PagerAdapter để dùng ViewGroup thay vì Khung hiển thị để tránh truyền lớp trong quá trình triển khai bộ chuyển đổi.
    • Cập nhật ViewPager để sử dụng kiểu Trình chạy hành vi hất.
    • Sửa lỗi cho hoạt động tương tác trên giao diện người dùng và hoạt động tự động thử nghiệm.
  • Hỗ trợ các Mảnh:
    • Thay đổi phương thức setStartDeferred() thành setUserVisibleHint(boolean).
    • Bổ sung thời gian bắt đầu bị hoãn cho các trang ngoài màn hình để cải thiện hiệu suất.
  • Hỗ trợ API Hỗ trợ tiếp cận:
    • Đã cập nhật AccessibilityDelegateCompat phương thức để trả về danh sách trống thay vì giá trị rỗng.
    • Thêm các API mới mà mẫu phiên bản 4 cần.

Bản sửa đổi 5

Tháng 12 năm 2011

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:

Bản sửa đổi 4

Tháng 11 năm 2011

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Đã thêm EdgeEffectCompat vào hỗ trợ EdgeEffect.
  • Thêm LocalBroadcastManager để cho phép các ứng dụng dễ dàng đăng ký và nhận ý định trong một ứng dụng mà không cần phát sóng chúng trên toàn cầu.
  • Thêm tính năng hỗ trợ trong ViewCompat để kiểm tra và thiết lập tính năng cuộn quá mức các chế độ dành cho View trên Android 2.3 trở lên.
  • Các thay đổi đối với Fragment API:
    • Thêm các API mới để kiểm soát chế độ hiển thị của các trình đơn mới.
    • Thêm API ảnh động tuỳ chỉnh.
    • Đã thêm các API trong FragmentActivity để giữ lại các API tuỳ chỉnh, dữ liệu bản sao không phải cấu hình.
    • Nhiều bản sửa lỗi.
  • Khắc phục lỗi Loader gây ra sự cố trong huỷ các AsyncTask khi chạy trên Froyo trở về trước các phiên bản của nền tảng. Dịch vụ hỗ trợ mã này hiện sử dụng phiên bản AsyncTask riêng để giữ nguyên trên tất cả các phiên bản nền tảng.

Bản sửa đổi 3

Tháng 7 ngày 2011

Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
  • Thêm hỗ trợ cho Fragment.SavedState
  • Thêm MotionEventCompat để hỗ trợ các API MotionEvent mới hơn
  • Thêm VelocityTrackerCompat để hỗ trợ các API VelocityTracker mới hơn
  • Thêm ViewConfigurationCompat để hỗ trợ các API ViewConfiguration mới hơn
  • Tất cả API mới (chỉ có trong thư viện hỗ trợ) cho phép bạn tạo giao diện người dùng với tính năng phân trang theo chiều ngang, cho phép người dùng vuốt sang trái và phải giữa các chế độ xem nội dung. Lớp đến bao gồm:
    • ViewPager: Một ViewGroup quản lý cho các chế độ xem con mà người dùng có thể vuốt qua.
    • PagerAdapter: Trình chuyển đổi điền sẵn ViewPager bằng giá trị chế độ xem đại diện cho từng trang.
    • FragmentPagerAdapter: Phần mở rộng của PagerAdapter để lật giữa các mảnh.
    • FragmentStatePagerAdapter: Phần mở rộng của PagerAdapter cho lật giữa các mảnh có sử dụng sự hỗ trợ của thư viện cho Fragment.SavedState.
Thư viện hỗ trợ mới phiên bản 13:
  • Bao gồm FragmentPagerAdapterFragmentStatePagerAdapter để hỗ trợ phân trang theo chiều ngang.

    Các API này hoàn toàn giống với các API được thêm vào thư viện hỗ trợ v4, nhưng hãy dựa vào các thành phần nền tảng khác trong Android 3.2. Hãy sử dụng thư viện này thay vì phiên bản 4 nếu bạn đang phát triển cho Android 3.2 trở lên (tất cả các API khác trong thư viện phiên bản 4 đều đã có sẵn cấp độ API 13).

Bản sửa đổi 2

Tháng 5 năm 2011

Các thay đổi đối với thư viện phiên bản 4:

Bản sửa đổi 1

Tháng 3 năm 2011

Bản phát hành đầu tiên có thư viện v4.