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ũ. Đối với các bản phát hành Thư viện hỗ trợ gần đây nhất, hãy xem phần Các bản sửa đổi gần đây về Thư viện hỗ trợ.
Bản sửa đổi 26.0.0 Beta 2
(Tháng 6 năm 2017)
Vui lòng lưu ý rằng 26.0.0-beta2 là phiên bản phát hành trước. Giao diện API có thể thay đổi và không nhất thiết phải bao gồm các tính năng hoặc bản sửa lỗi từ các phiên bản Thư viện hỗ trợ ổn định mới nhất.
Lưu ý quan trọng: Các thư viện hỗ trợ hiện đã có trong kho lưu trữ Maven của Google. Bạn không cần tải kho lưu trữ hỗ trợ xuống từ Trình quản lý SDK. Để biết thêm thông tin, hãy xem phần Thiết lập thư viện hỗ trợ.
API mới
- Lớp
JobIntentService
mới giúp nhà phát triển lên lịch các tác vụ theo cách tuân thủ các giới hạn thực thi ở chế độ nền mới của Android O.
Điểm khác biệt về API
Sửa lỗi
- Việc ngừng phát triển SDK Android O khiến văn bản in nghiêng trong TextView
- Ngoại lệ về con trỏ rỗng khi kết nối với MediaBrowserServiceCompat
- TextInputLayout phải đặt gợi ý về onProvideAutofillStructure()
- Tràn ngăn xếp khi sử dụng tính năng tự động định kích thước của 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. Giao diện API có thể thay đổi và không nhất thiết phải bao gồm các tính năng hoặc bản sửa lỗi từ các phiên bản Thư viện hỗ trợ ổn định mới nhất.
Lưu ý quan trọng: Các thư viện hỗ trợ hiện đã có trong kho lưu trữ Maven của Google. Bạn không cần tải kho lưu trữ hỗ trợ xuống từ Trình quản lý SDK. Để biết thêm thông tin, hãy xem phần Thiết lập thư viện hỗ trợ.
Nội dung thay đổi quan trọng:
FragmentActivity.setSupportMediaController()
vàFragmentActivity.getSupportMediaController()
đã bị xoá. Vui lòng sử dụng các phương thứcMediaControllerCompat.setMediaController()
vàMediaControllerCompat.getMediaController()
tĩnh mới.BottomNavigationView
nay gọionNavigationItemReselected()
khi một mục đã chọn được chọn, thay vì gọionNavigationItemSelected()
.- Mọi thực thể của phương thức
findViewById()
hiện trả về<T extends View> T
thay vìView
. Thay đổi này sẽ có những tác động sau:- Điều này có thể dẫn đến việc mã hiện có hiện có loại dữ liệu trả về không rõ ràng, chẳng hạn như nếu có cả
someMethod(View)
vàsomeMethod(TextView)
đều nhận kết quả của lệnh gọi đếnfindViewById()
. - Khi sử dụng ngôn ngữ nguồn Java 8, yêu cầu phải truyền rõ ràng tới
View
khi loại dữ liệu trả về không bị hạn chế (ví dụ:assertNotNull(findViewById(...)).someViewMethod())
). - Bạn cần cập nhật loại dữ liệu trả về cho các trường hợp ghi đè các phương thức
findViewById()
không phải cuối cùng (ví dụ:Activity.findViewById()
).
- Điều này có thể dẫn đến việc mã hiện có hiện có loại dữ liệu trả về không rõ ràng, chẳng hạn như nếu có cả
API mới
-
FragmentManager
vàFragment
có một phương thứcisStateSaved()
cho phép truy vấn xem một giao dịch có được phép hay không mà không bị mất trạng thái. Điều này đặc biệt hữu ích khi cần kiểm tra khi xử lý sự kiệnonClick()
trước khi thực thi bất kỳ giao dịch nào. - Chuyển động đường dẫn được hỗ trợ trong
AnimatedVectorDrawableCompat
. Chuyển động trong đường dẫn cho phép một trình tạo ảnh động đối tượng thay đổi hai thuộc tính cùng lúc dựa trên một đường dẫn; đường dẫn được chỉ định làandroid:pathData
trong XML của trình tạo ảnh động). - Ảnh động dựa trên vật lý:
FlingAnimation
mới hỗ trợ tạo ảnh động với tốc độ ban đầu và giảm tốc độ mượt mà.- Các lớp con của
DynamicAnimation
hỗ trợ tạo ảnh động thuộc tính tuỳ chỉnh cho mọi đối tượng. - Cả
SpringAnimation
vàFlingAnimation
hiện đều có thể tạo ảnh động cho một giá trị số thực mà không cần liên kết vớiView
hoặcObject
.
Để biết thêm thông tin, hãy xem trang xem trước Ảnh động vào mùa xuân và Ảnh động nhanh.
-
Hỗ trợ phông chữ trong XML:
-
ResourcesCompat.getFont
cho phép tải tài nguyên phông chữ (bao gồm cả XML bộ phông chữ) có thể được dùng vớiTextView.setTypeface()
. - Khi sử dụng AppCompat, TextView hỗ trợ chỉ định tài nguyên phông chữ hoặc XML họ phông chữ qua thuộc tính XML
android:fontFamily
. - Sử dụng bộ phông chữ XML để tạo bộ phông chữ với các biến thể về kiểu chữ và độ đậm. (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 dùng thuộc tính
app:
cũng như thuộc tínhandroid:
.)
-
- Phông chữ có thể tải xuống:
FontsContractCompat
mới cho phép bạn yêu cầu phông chữ từ trình cung cấp phông chữ thay vì nhóm các phông chữ đó trong ứng dụng của mình.- Bạn cũng có thể yêu cầu phông chữ trong XML và dùng trong bố cục.
-
Thư viện khả năng tương thích với biểu tượng cảm xúc:
-
EmojiCompat
có thể xử lý mộtCharSequence
nhất định và thêmEmojiSpans
. -
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ỡ TextView:
- Các phương thức mới trong
TextViewCompat
cũng như các thuộc tính XML để kiểm soát tính năng tự động định cỡ trongTextView
.
- Các phương thức mới trong
- Bộ điều khiển phát Leanback có hỗ trợ tìm kiếm:
-
PlaybackTransportRowPresenter
mới hiển thị các nút điều khiển chế độ phát bằng thanh tua.PlaybackTransportControlGlue
mới hoạt động vớiPlaybackTransportRowPresenter
và hỗ trợ tua.- Lớp cơ sở mới
PlaybackSeekDataProvider
cho ứng dụng để cung cấp hình thu nhỏ tua choPlaybackTransportControlGlue
.
- Kho dữ liệu lựa chọn ưu tiên:
-
PreferenceDataStore
nay cho phép bạn triển khai bộ nhớ lựa chọn ưu tiên của riêng mình, được thiết lập bằng các phương thức mới trongPreference
vàPreferenceManager
.
-
Vấn đề đã biết
- Khả năng tương thích với phông chữ và biểu tượng cảm xúc có thể tải xuống với Dịch vụ Google Play chỉ hoạt động trên Dịch vụ Google Play phiên bản 11 trở lên, hiện được cung cấp trong chương trình thử nghiệm của Dịch vụ Google Play.
Sửa lỗi
-
API
MediaBrowserCompat.search()
không hoạt động (Vấn đề AOSP) 262170) -
ViewCompat.postInvalidateOnAnimation()
gửi trường hợp ngoại lệ (Vấn đề AOSP 80146) -
onActivityCreated()
gọi các mảnh trong Hoạt động đã bị huỷ bỏ -
RecyclerView.isComputingLayout()
phải trả về giá trị true trong quá trình tìm nạp trước -
Khi quá trình chuyển đổi
Fade
bị gián đoạn và đảo ngược,View
sẽ bắt đầu tạo ảnh động từ đầu. (Đã chuyển bản sửa lỗi từ Khung Android.) -
Transition.Fade
bỏ qua phiên bản alpha ban đầu củaView
(vấn đề về AOSP (Dự án nguồn mở Android) 221820)
Bản sửa đổi 26.0.0 Alpha 1
(Tháng 3 năm 2017)
Vui lòng lưu ý rằng 26.0.0-alpha1 là phiên bản phát hành trước. Giao diện API có thể thay đổi và không nhất thiết phải bao gồm các tính năng hoặc bản sửa lỗi từ các phiên bản Thư viện hỗ trợ ổn định mới nhất.
Nội dung thay đổi quan trọng:
Lưu ý: Phiên bản SDK tối thiểu đã tăng lên 14. Do đó, nhiều API chỉ tồn tại cho khả năng tương thích API < 14 đã không được dùng nữa. Các ứng dụng của các API này cần chuyển sang các API tương đương với khung như đã nêu trên 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 ứng dụng của mô-đun này nên 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 trong Trình quản lý SDK).
- Mô-đun support-fragment không còn phần phụ thuộc trên mô-đun support-media-compat.
API mới
Nhiều lớp, phương thức và hằng số mới được thêm vào để hỗ trợ 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 cờ "không học" cho các ứng dụng có chế độ riêng tư, chẳng hạn như trình duyệt. Tính năng này giúp các IME biết được liệu một ứng dụng có đang ở chế độ riêng tư hay không. Nhờ đó, chúng có thể vô hiệu hoá chức năng học tập hoặc chức năng thích ứng khi ứng dụng đang ở chế độ đó.
Để biết danh sách đầy đủ các thay đổi về API từ phiên bản 25.2.0 đến 26.0.0-alpha1, hãy xem báo cáo về sự khác biệt của API của thư viện hỗ trợ.
Sửa lỗi
- Trong một số trường hợp, ảnh động
AutoTransition
đơn giản có thể bị gián đoạn do khung hiển thị "nhảy". (Vấn đề về AOSP (Dự án nguồn mở Android) 221816)
Bản sửa đổi 25.4.0
(Tháng 6 năm 2017)
Lưu ý quan trọng: Các thư viện hỗ trợ hiện đã có trong kho lưu trữ Maven của Google. Bạn không cần tải kho lưu trữ hỗ trợ xuống từ Trình quản lý SDK. Để biết thêm thông tin, hãy xem phần Thiết lập thư viện hỗ trợ.
Nội dung thay đổi quan trọng:
-
executePendingTransactions()
,commitNow()
,popBackStackImmediate()
và các lệnh gọi giao dịch tương tự không được phép trong khiFragmentManager
thay đổi trạng thái. Việc thực thi giao dịch của người đăng ký lại là không an toàn vàFragmentManager
hiện thực thi việc này trong khi trạng thái thay đổi. - Đồng thời 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 những thay đổi quan trọng sau đây:
- Cho phép multidex của tệp APK đo lường.
- Ngừng sử dụng MultiDexTestRunner (nên dùng AndroidJUnitRunner).
- Tăng cường khả năng bảo vệ trước một số hoạt động quản lý trích xuất tệp lưu trữ không hiệu quả của ứng dụng.
- Sửa 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 được thực hiện trong quy trình đồng thời.
- Sửa lỗi cài đặt trên API 19 và 20.
API mới và API đã sửa đổi
AnimatedVectorDrawableCompat
hỗ trợ phương pháp biến đổi đường dẫn và nội suy đường dẫn. Việc biế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
) sang một đường dẫn khác (được chỉ định là android:valueTo
), nhằm cung cấp các hiệu ứng hình ảnh phức tạp và hấp dẫn. Loại 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 XML của bộ nội suy).
Đ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
- API MediaBrowserCompat.search() không hoạt động (Vấn đề AOSP 262170)
- Cuộc gọi lại BrowseFragment onItemClicked bị hỏng trong 25.3.0
- NullPointerException khi cuộ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 là phiên bản 14 trở lên. (Vấn đề AOSP (Dự án nguồn mở Android) 251302)- Ảnh động dựa trên vật lý
updateListener
sẽ bỏ qua khung hình đầu tiên. - Ảnh động nhãn
BottomNavigationView
bị lỗi.
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. Điều này giúp đơn giản hoá việc 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. Các API không dùng nữa này sẽ bị xoá trong phiên bản trong tương lai 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 một API cụ thể, hãy tham khảo tài liệu của API đó.
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ớigetLatLong()
. 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ớisetErrorMessage(int, CharSequence)
. Phương thức này được truyền một mã lỗi và một nội dung mô tả không bắt buộc.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ếmMediaBrowserCompat
.v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount()
đổi tên thànhLinearLayoutManager.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 thức mới
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)
giúp đơ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
- Bổ sung tính năng hỗ trợ cho các kênh nhắn tin. Hãy xem tài liệu tham khảo về
CustomTabsService.requestPostMessageChannel()
và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 để tạo ảnh động phản ứng linh hoạt với hoạt động đầu vào của người dùng.
leanback-v17
- Thêm tính năng hỗ trợ cho nền thị sai. Hãy xem tài liệu tham khảo về
Parallax
để biết thông tin chi tiết. - Thêm tiện ích
TimePicker
để chọn thời gian trên giao diện TV. mediacompat
- Bổ sung chức năng tìm kiếm. Hãy xem tài liệu tham khảo về
MediaBrowserCompat.search()
vàMediaBrowserServiceCompat.onSearch()
để biết thông tin chi tiết. - Bổ sung tính năng hỗ trợ các chế độ lặp lại và trộn bài. Hãy xem tài liệu tham khảo về
MediaSessionCompat.setRepeatMode()
vàsetShuffleModeEnabled()
để biết thông tin chi tiết.
Vấn đề đã khắc phục
StaggeredGridLayoutManager
gửiIllegalArgumentException
(Vấn đề của AOSP (Dự án nguồn mở Android) 230295)- Tính năng tìm nạp trước
RecyclerView
không xử lý đúng cáchRecyclerView
được đính kèm nhưng không xử lý đúng cách trên màn hình - Robolectric không nhận dạng được
LinearLayout
- Khi
Activity
bị huỷ,onActivityCreated()
sẽ được gọi không đúng cách cho các mảnh - Hàm khởi tạo
AppCompatImageView
gây raArrayIndexOutOfBoundsException
- Hiệu suất giao diện người dùng kém trong quá trình chuyển đổi hoạt động
Call.Details
Bản sửa đổi 25.2.0
(Tháng 2 năm 2017)
Những 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ề trình định tuyến nội dung nghe nhìn, trong đó việc sử dụng thiết bị A2DP và các API định tuyến nội dung nghe nhìn có thể khiến thiết bị không phản hồi và cần phải khởi động lại.
- Lớp
FragmentManager.FragmentLifecycleCallbacks
hiện ở dạng tĩnh.
Vấn đề đã khắc phục
- Khi hiển thị bản trình bày bằng tính năng phản chiếu màn hình, thiết bị sẽ bị ngắt kết nối khỏi Wi-Fi
- Nút nội dung đa phương tiện không xử lý đúng cách các ứng dụng đa phương tiện không tự đăng ký với
setMediaButtonReceiver()
-
Lỗi
VectorDrawable
với tài nguyên chuỗi (vấn đề về AOSP (Dự án nguồn mở Android) 232407) TextInputLayout
phủ gợi ý và văn bản nếu văn bản được đặt bằng XML (vấn đề AOSP 230171)- Rò rỉ bộ nhớ trong
MediaControllerCompat
(vấn đề về AOSP (Dự án nguồn mở Android) 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ị sai (false) cho các hành động bên trongWearableExtender
Bản sửa đổi 25.1.1
(Tháng 1 năm 2017)
Quan trọng: Có một lỗi đã biết trong lớp 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 nên cập nhật lên Bản sửa đổi Thư viện hỗ trợ 25.2.0 để khắc phục lỗi này.
Những thay đổi quan trọng
-
Giờ đây, các giao dịch mảnh có thể được tối ưu hoá trong và trên các giao dịch. Việc tối ưu hoá các hoạt động giao dịch mảnh có thể loại bỏ các thao tác huỷ. Ví dụ: giả sử hai giao dịch được thực thi cùng lúc, một giao dịch thêm một mảnh A và giao dịch thứ hai thay thế mảnh A bằng mảnh B. Trong trường hợp này, thao tác đầu tiên có thể bị huỷ và chỉ có mảnh B được thêm vào. Điều đó có nghĩa là mảnh A có thể không trải qua vòng đời tạo/phá huỷ.
Tác dụng phụ của tính năng tối ưu hoá này là các mảnh có thể thay đổi trạng thái không theo thứ tự dự kiến. Ví dụ: giả sử một giao dịch thêm mảnh A, giao dịch thứ hai thêm mảnh B, sau đó giao dịch thứ ba xoá mảnh A. Nếu không tối ưu hoá, phân mảnh B có thể dự kiến trong khi đang được tạo, phân mảnh A cũng sẽ tồn tại vì phân mảnh A sẽ bị xoá sau khi phân mảnh B được thêm vào. Với tính năng tối ưu hoá, mảnh B không thể chắc chắn rằng mảnh A sẽ tồn tại khi B đang được tạo, vì tính năng tối ưu hoá có thể xoá và tạo mảnh A.
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á, hãy gọi
FragmentTransaction.setAllowOptimization(true)
. - Giờ đây, các mảnh có thể trì hoãn các hiệu ứng chuyển đổi và ảnh động cho đến khi sẵn sàng bằng cách sử dụng
Fragment.postponeEnterTransition()
vàFragment.startPostponedEnterTransition()
. API này tương tự nhưActivity.postponeEnterTransition()
vàActivity.startPostponedEnterTransition()
được dùng với tính năng Chuyển đổi hoạt động.
Vấn đề đã khắc phục
-
MediaSessionCompatTest
không thành công vớiIllegalArgumentException
-
DetailsFragment.installTitleView()
không được gọi trong phiên bản 25.1.0 - Giao dịch mảnh duy trì chế độ xem ảo khi thoát (vấn đề AOSP 230679)
-
BottomNavigationView
cần khoảng cách giữa biểu tượng mục và văn bản (vấn đề AOSP 230653) - Các trình nghe đã chọn bị thiếu trong
PlaybackFragment
vàPlaybackSupportFragment
mới -
Tiêu điểm
TextInputLayout
không thay đổi đúng cách trong trình mô phỏng từ thư viện hỗ trợ phiên bản 25.1.0 (vấn đề AOSP) 230461) - Không thay thế được trình đơn của
BottomNavigationView
(vấn đề AOSP) 230343) -
RecyclerView
cóStaggeredGridLayoutManager
gặp sự cố với các mục trên toàn bộ trải nghiệm (vấn đề của AOSP (Dự án nguồn mở Android) 230295) - Sự cố trong
MediaSessionCompat
khi sử dụngsetCallback(null)
-
PlaybackGlueHostOld
vàPlaybackSupportGlueHostOld
không thông báo các lệnh gọi lại khi hàng phát thay đổi -
Ví dụ về
PlaybackOverlayFragment
/test
không bắt đầu phát được -
RecyclerViewFocusRecoveryTest
không thành công trên API 15 - Hàng "Ảnh chụp màn hình" được lấy tiêu điểm ở đầu màn hình
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
gặp sự cố trên API 15 -
setActions()
trongonSubactionClicked()
bị hỏng -
RecyclerView
gặp sự cố khi tái chế một số phần tử giữ khung hiển thị
Bản sửa đổi 25.1.0
(Tháng 12 năm 2016)
Quan trọng: Có một lỗi đã biết trong lớp 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 nên cập nhật lên Bản sửa đổi Thư viện hỗ trợ 25.2.0 để khắc phục lỗi này.
Những 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 theo chiều ngang) có thể nhận được lợi ích đáng kể về hiệu suất bằng cách gợi ý cho trình quản lý bố cục của tiện íchRecyclerView
bên trong số mục cần chuẩn bị trước khi cuộn trên màn hình. GọiLinearLayoutManager.setInitialPrefetchItemCount(N)
, trong đó N là số khung hiển thị hiển thị của mỗi mục bên trong. Ví dụ: nếu các danh sách bên trong theo chiều ngang hiển thị tối thiểu 3,5 thành phần hiển thị cùng lúc, thì bạn có thể cải thiện hiệu suất bằng cách gọiLinearLayoutManager.setInitialPrefetchItemCount(4)
. Cách làm này cho phépRecyclerView
tạo sớm tất cả các thành phần hiển thị phù hợp, trong khiRecyclerView
bên ngoài đang cuộn, qua đó giúp giảm đáng kể tình trạng kết xuất gián đoạn trong quá trình cuộn. - Ngừng sử dụng
FragmentActivity.setSupportMediaController()
vàFragmentActivity.getSupportMediaController()
. Vui lòng sử dụng các phương thứcMediaControllerCompat.setMediaController()
vàMediaControllerCompat.getMediaController()
tĩnh mới. - Khi ứng dụng chỉ định sắc thái màu của tiện ích thông qua tính năng phủ màu của ứng dụng (ví dụ:
appcompat:buttonTint
), ứng dụng có 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.). Điều này nhất quán với cách chỉ định sắc thái màu của tiện ích khi sử dụng tính năng phủ màu khung.
API mới và API đã sửa đổi
- Thêm thư viện hỗ trợ ExifInterface. Thư viện này bỏ gói hỗ trợ việc đọc thông tin Exif từ các tệp JPEG và tệp có định dạng thô, cũng như đặt thông tin Exif trên các tệp hình ảnh JPEG.
Snackbar
đã được tái cấu trúc để cho phép các ứng dụng hiển thị nội dung tuỳ chỉnh.BaseTransientBottomBar
là lớp cơ sở mới hiển thị hành vi trượt và ảnh động chung.- Thêm gói leanback.media mới chứa các lớp trợ giúp để tích hợp các trình phát nội dung đa phương tiện vào các ứng dụng Android TV.
- Thêm
SeekBarPreference
với các thuộc tính và bố cục có thể tuỳ chỉnh vào thư viện hỗ trợ lựa chọn ưu tiên v7. - Thêm lớp
ArraySet
vào thư viện hỗ trợ v4. Lớp này tương ứng với lớpArraySet
của khung đã ra mắt bằng API cấp 23. RecyclerView
Cải thiện tính năng tìm nạp trước mục RecyclerView:- Tính năng tìm nạp trước
RecyclerView
lồng nhau cho phép tìm nạp trước nội dung từ mộtRecyclerView
trong mộtRecyclerView
cuộn khác, với API để kiểm soát mức độ tìm nạp trước đã thực hiện: - Thêm các API cho các đối tượng
LayoutManager
tuỳ chỉnh cần triển khai nhằm bật tính năng tìm nạp trước trong quá trình cuộn và hất - Cải tiến tính năng tìm nạp trước để chỉ thực hiện nhiều công việc tạo/liên kết nhất có thể trong khoảng thời gian giữa các khung hình
- Tính năng tìm nạp trước
Vấn đề đã khắc phục
- Nút bật/tắt chế độ hiển thị mật khẩu không vượt qua quy trình kiểm tra khả năng hỗ trợ tiếp cận.
- Appcompat không tuân theo
state_enabled
trên các thiết bị chạy phiên bản trước L. - Thêm cơ chế khôi phục tiêu điểm vào
RecyclerView
. Việc này cũng giúp khắc phục việc hỗ trợ các mảnh trước bị hỏng tiêu điểm khi sử dụng thao tác DPAD, chẳng hạn như trên các thiết bị Android TV. - Leanback: BrowseFragment gặp sự cố với tiêu đề bị tắt và bộ chuyển đổi trống.
- Appcompat:
AlertDialog
quá rộng. InputContentInfoCompat
gọirequestPermission()
khi cần gọireleasePermission()
.MediaBrowserCompat
lỗi.- CoordinatorLayout đo lường/bố trí các khung hiển thị khi chế độ hiển thị được đặt thành
GONE
. - Không thể phủ màu
AnimatedVectorDrawableCompat
ở API cấp 24 trở xuống - Thư viện Leanback gây ra các lỗi tìm lỗi mã nguồn giả
- Thư viện Palette (Bảng khung hiển thị) đã gây ra thất bại trong kiểm thử ở mọi cấp độ API
RecyclerView
lượt kiểm thử không thành công trên LeanbackRecyclerView
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 nền
CollapsingToolbarLayout
không được vẽ khi thu gọn CoordinatorLayout.offsetChildByInset()
gửiIllegalArgumentException
- Tạo ảnh động cho các mục
RecyclerView
sẽ tách raRecyclerView
bên trong, ngăn các lượt tìm nạp trước trong tương lai - Không thể tìm nạp trước lồng nhau
RecyclerView
mục đã đính kèm - Dữ liệu tìm nạp trước cho các mục
RecyclerView
lồng nhau sẽ 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 2 sự kiện kéo đến ở cùng một vị trí RecyclerView
nên tạo bố cục theo suy đoán trong khi RenderThread đang kết xuất- Các tài nguyên màu được định cấu hình vào ban đêm được chuyển đổi thành Đối tượng có thể vẽ không phải lúc nào cũng được xoá đúng cách khỏi bộ nhớ đệm Tài nguyên
FloatingActionButton
: Việc thiết lập NềnTintList theo phương thức lập trình không hoạt động đúng cách (vấn đề AOSP 227428)TextInputLayout
: Phông chữ chưa được đặt cho ErrorView (vấn đề AOSP) 227803)TextInputLayout
luôn quay về màu lỗi sáng dưới API 23 (Vấn đề AOSP 221992)FloatingActionButton
hiển thị khi được 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 của AOSP (Dự án nguồn mở Android).
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 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 một API cụ thể, hãy tham khảo tài liệu của API đó.
-
android.support.design.widget
-
android.support.v17.leanback.app
BackgroundManager.getDefaultDimLayer()
BackgroundManager.getDimLayer()
BackgroundManager.setDimLayer()
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.getFragment()
PlaybackControlGlue.getOnItemViewClickedListener()
PlaybackControlGlue.onRowChanged()
PlaybackControlGlue.pausePlayback()
PlaybackControlGlue.skipToNext()
PlaybackControlGlue.skipToPrevious()
PlaybackControlGlue.startPlayback()
PlaybackControlSupportGlue
PlaybackOverlayFragment
PlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget
-
android.support.v4.app
FragmentActivity.getSupportMediaController()
FragmentActivity.setSupportMediaController()
Bản sửa đổi 25.0.1
(Tháng 11 năm 2016)
Vấn đề đã khắc phục
- Theo mặc định, nút bật/tắt mật khẩu
TextInputLayout
sẽ bị tắt theo mặc định để tránh ghi đè một cách không cần thiết các đối tượng có thể vẽ cuối do nhà phát triển chỉ định. Bạn có thể bật tính năng này theo cách thủ công qua thuộc tính XMLpasswordToggleEnabled
. - Các mục
BottomNavigationView
hiện là một dòng để phù hợ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
hiện đã được đặt đúng cách. (Vấn đề về AOSP (Dự án nguồn mở Android) 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 đề về AOSP (Dự án nguồn mở Android) 225731)- Sửa lỗi thành phần kết hợp
TextInputLayout
có thể vẽ trái + phải. (Vấn đề AOSP 225836) RecyclerView
gặp sự cố khi tái chế phần tử giữ khung hiển thị. (Vấn đề về AOSP (Dự án nguồn mở Android) 225762)- Leanback: TalkBack thường nói từ "null" (rỗng) trong chế độ xem chia đôi màn hình.
RecyclerView
: Các vấn đề về kết xuất trong Android Studio. (Vấn đề về AOSP (Dự án nguồn mở Android) 225753)BottomNavigationView
vẫn hiện mục trong trình đơn như đã chọn sau khionNavigationItemSelected()
trả về giá trị false. (Vấn đề về AOSP (Dự án nguồn mở Android) 225898)- ForwardListener sẽ gửi
NoSuchMethodError
. (Vấn đề AOSP) 225647) TextInputEditText
không hiển thị gợi ý trong chế độ trích xuất IME. (Vấn đề về AOSP (Dự án nguồn mở Android) 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 của AOSP (Dự án nguồn mở Android).
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 bảo vệ. Lớp này không được tạo thực thể công khai nhưng có thể được mở rộng bằng cách thư viện hỗ trợ nhắm đến các cấp độ API mới hơn. - Hàm khởi tạo
ActivityCompat
đã được bảo vệ. Lớp này không được tạo thực thể công khai nhưng có thể được mở rộng bằng cách thư viện hỗ trợ nhắm đến các cấp độ API mới hơn. getReferrer(Activity)
đã được đặt tĩnh.-
Xoá
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)
. Bạn phải xoá mọi hoạt động triển khai ứng dụng của phương thức này. -
Xoá
android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)
. Bạn nên thay thế các trường hợp sử dụng bằng phương thức có tên phù hợp hơnfromMediaSession()
. -
Xoá
android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)
. Bạn nên thay thế các trường hợp sử dụng bằng phương thức có tên phù hợp hơnMediaSessionCompat.QueueItem#fromQueueItem
. -
Xoá
android.support.v7.widget.Space
. Bạn nên thay thế các trường hợp sử dụng bằngandroid.support.v4.widget.Space
.
API mới
-
Lớp
android.support.design.widget.BottomNavigationView
triển khai mẫu thanh điều hướng dưới cùng theo quy cách 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ủaandroid.view.inputmethod.InputConnection
được giới thiệu sau API cấp 13. -
Lớp
android.v7.widget.RecyclerView.DividerItemDecoration
cung cấp phương thức triển khai cơ sở cho phần phân chia theo chiều dọc hoặc chiều ngang giữa các mục. - Các kiểu trang trí mới trong
android.support.v7.app.NotificationCompat
,DecoratedCustomViewStyle
vàDecoratedMediaCustomViewStyle
, các lớp phản chiếu được thêm 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 của AOSP (Dự án nguồn mở Android).
Bản sửa đổi 24.2.1
Tháng 9 năm 2016
Sửa các vấn đề:
- Không thể liên kết
FloatingActionButton
với phần tử con gián tiếp củaCoordinatorLayout
nữa. (Sự cố AOSP (Dự án nguồn mở Android) 220250) - Hình ảnh bên trong
CollapsingToolbarLayout
không điều chỉnh theo tỷ lệ đúng cách khi dùngfitsSystemWindows=true
. (Vấn đề về AOSP (Dự án nguồn mở Android) 220389) CoordinatorLayout
gửiIndexOutOfBoundsException
khiSnackbar
xuất hiện và bị loại bỏ. (Vấn đề về AOSP (Dự án nguồn mở Android) 220762)TextInputLayout
không phân giải được màu văn bản lỗi. (Vấn đề về AOSP (Dự án nguồn mở Android) 220305)BatchedCallback.onMoved()
gọiBatchedCallback.onInserted()
. (Vấn đề về AOSP (Dự án nguồn mở Android) 220309)TextInputLayout
ghi đè đối tượng có thể vẽ phức hợp bên phải. (Vấn đề về AOSP (Dự án nguồn mở Android) 220728)
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 của AOSP (Dự án nguồn mở Android).
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:
- Phân tách Thư viện hỗ trợ phiên bản 4
- Nội dung cập nhật về API
- Thay đổi về hành vi
- Ngừng cung cấp
- Sửa lỗi
Lưu ý: Bản phát hành 24.2.0 sẽ loại bỏ khả năng hỗ trợ Android 2.2 (API cấp 8) trở xuống. Những lớp và phương thức chỉ tồn tại để phân phát các phiên bản hệ thống đó hiện được đánh dấu là không dùng nữa và không nên dùng nữa. Các lớp và phương thức không dùng nữa này có thể bị xoá trong bản phát hành sau này.
Phân tách Thư viện hỗ trợ v4
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()
vàView.performAccessibilityAction()
. -
support-core-utils
-
Cung cấp một số lớp tiện ích, chẳng hạn như
AsyncTaskLoader
vàPermissionChecker
. -
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
,NestedScrollView
vàExploreByTouchHelper
. -
support-media-compat
-
Điều chỉnh cho phiên bản cũ các phần của khung nội dung đa phương tiện,
bao gồm cả
MediaBrowser
vàMediaSession
. -
support-fragment
-
Điều chỉnh cho phiên bản cũ khung fragment (mảnh). Mô-đun này có các phần phụ thuộc trên
support-compat
,support-core-utils
,support-core-ui
vàsupport-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.
Bản cập nhật API
- Các ứng dụng sử dụng Thẻ tuỳ chỉnh có thể kiểm soát việc có nên mở Ứng dụng tức thì hay không. (Lưu ý rằng Ứng dụng tức thì chưa được phát hành rộng rãi.) Để bật hoặc tắt Ứng dụng tức thì, hãy gọi
CustomTabsIntent.Builder.setInstantAppsEnabled()
hoặc chỉ địnhEXTRA_ENABLE_INSTANT_APPS
. Theo mặc định, Thẻ tuỳ chỉnh sẽ bật Ứng dụng tức thì theo mặc định khi tính năng đó ra mắt. TextInputLayout
thêm tính năng hỗ trợ cho nút bật/tắt chế độ hiển thị mật khẩu từ thông số kỹ thuật của Material Design.- Gói
android.support.transition
mới điều chỉnh khung Transitions cho phiên bản cũ sang API cấp 14 trở lên. Để biết thêm thông tin, hãy xem tài liệu tham khảo vềandroid.support.transition
. - Thư viện hỗ trợ Thẻ tuỳ chỉnh hỗ trợ thêm việc sử dụng
RemoteViews
trong thanh công cụ phụ. Phương thứcsetToolbarItem()
hiện có không được dùng nữa. AppCompatResources
thêm khả năng tải<vector>
(trên API cấp 9 trở lên) hoặc<animated-vector>
(trên API cấp 11 trở lên) từ một mã nhận dạng tài nguyên bằng cách sử dụng phương thứcgetDrawable()
mới.CoordinatorLayout
hiện hỗ trợ xác định các khung hiển thị phần lồng ghép và chỉ định rằng các khung hiển thị khác sẽ né tránh các khung hiển thị phần lồng ghép. Điều này cho phép các ứng dụng sao chép các mẫu hành vi tương tự như cáchFloatingActionButton
di chuyển ra khỏiSnackbar
, nhưng đối với mọi khung hiển thị con tuỳ ý. Để biết thêm thông tin, hãy xem tài liệu tham khảo vềLayoutParams.insetEdge
vàLayoutParams.dodgeInsetEdges
.- Lớp
DiffUtil
mới có thể tính toán sự chênh lệch giữa hai tập hợp, đồng thời có thể gửi danh sách hoạt động cập nhật phù hợp đểRecyclerView.Adapter
sử dụng. -
Thêm
RecyclerView.OnFlingListener
để hỗ trợ hành vi tuỳ chỉnh nhằm phản hồi các cử chỉ hất. LớpSnapHelper
cung cấp phương thức triển khai dành riêng cho chụp nhanh khung hiển thị con, còn lớpLinearSnapHelper
mở rộng phương thức triển khai này để cung cấp hành vi chụp nhanh căn giữa tương tự nhưViewPager
. - Thư viện Thẻ tuỳ chỉnh hiện cho phép ứng dụng yêu cầu giao diện người dùng của trình duyệt chuẩn thay vì giao diện người dùng thẻ tuỳ chỉnh bằng cách gọi
CustomTabsIntent.setAlwaysUseBrowserUI()
. Hành vi này hữu ích trong trường hợp trình duyệt mặc định sử dụng giao diện người dùng thẻ tuỳ chỉnh nhưng người dùng đã bày tỏ sự ưu tiên đối với giao diện người dùng chuẩn của trình duyệt.
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, thì giờ đây, hệ thống 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 có lệnh gọi đến
AppCompatDelegate.setLocalNightMode()
). - Giờ đây,
Snackbar
sẽ vẽ phía sau thanh điều hướng nếu thanh trạng thái là trong suốt.
Thư viện MediaRouter
Thiết bị Bluetooth không còn được liệt kê là tuyến nội dung nghe nhìn nữa. Việc định tuyến âm thanh đến thiết bị Bluetooth hiện chỉ được kiểm soát ở 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 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 trên các lớp sau chỉ bắt buộc đối với API 8 trở xuống và không nên dùng nữa. Thay vào đó, hãy sử dụng các phương thức triển khai khung.
android.support.v4.view.KeyEventCompat
: Thay thế bằngKeyEvent
android.support.v4.view.MotionEventCompat
: Sử dụngMotionEvent
android.support.v4.view.ViewCompat
: Sử dụngView
android.support.v4.view.ViewConfigurationCompat
: Sử dụngViewConfiguration
-
Ngừng sử dụng
AccessibilityServiceInfoCompat.getDescription()
và thay bằngAccessibilityServiceInfoCompat.loadDescription()
(trả về nội dung mô tả được bản địa hoá chính xác). - Bạn không nên tạo trực tiếp thực thể cho lớp
ActivityCompat
. Phương thứcgetReferrer(Activity)
không tĩnh sẽ được chuyển thành tĩnh trong bản phát hành sắp tới. - Ngừng sử dụng
CoordinatorLayout.Behavior.isDirty()
và không còn đượcCoordinatorLayout
gọi. Mọi cách triển khai, cũng như mọi lệnh gọi đến phương thức này, đều phải bị xoá. - Ngừng sử dụng
MediaSessionCompat.obtain()
và thay thế bằng phương thứcfromMediaSession()
được đặt tên phù hợp hơn. - Ngừng sử dụng
MediaSessionCompat.QueueItem.obtain()
và thay thế bằng phương thứcfromQueueItem()
được đặt tên phù hợp hơn. - Một số lớp trừu tượng đã ngừng hoạt động và được thay thế bằng các giao diện phản ánh sát hơn các lớp tương đương của khung.
- Thay thế
AccessibilityStateChangeListenerCompat
bằng giao diệnAccessibilityManagerCompat.AccessibilityStateChangeListener
. OnCloseListenerCompat
đã được thay thế bằng giao diệnSearchViewCompat.OnCloseListener
.OnQueryTextListenerCompat
đã được thay thế bằng giao diệnSearchViewCompat.OnQueryTextListener
.
- Thay thế
- Ngừng sử dụng
CustomTabsSession.setToolbarItem()
và thay thế bằngsetSecondaryToolbarViews()
dựa trên RemoteViews.
Sửa lỗi
Các vấn đề đã biết sau đây đã được khắc phục trong bản phát hành 24.2.0:
- Đảm bảo chỉ báo
SwipeRefreshLayout
hiển thị khisetRefreshing(true)
được gọi trước khi lượt đo lường đầu tiên (Vấn đề AOSP 77712) - Ngăn
TabLayout
nhấp nháy khi thay đổi trang (Vấn đề AOSP 180454) - Tránh
ClassNotFoundException
khi huỷ cấu trúcSavedState
trên API cấp 11 trở xuống (Vấn đề AOSP 196430)
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 của AOSP (Dự án nguồn mở Android).
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 làm ảnh hưởng đến các 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 dựa vào thư viện hỗ trợ có tài nguyên (chẳng hạn như thiết kế và Appcompat) 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 Thư viện hỗ trợ v4:
-
NotificationCompat.Action.WearableExtender
có các phương thứcgetHintDisplayActionInline()
vàsetHintDisplayActionInline()
mới để tương thích với Bản xem trước Android Wear 2.0. Các phương thức này cho phép ứng dụng chỉ định rằng một thao tác sẽ được hiển thị cùng dòng với thông báo.- Việc gọi
Fragment.setUserVisbileHint()
sẽ không còn khiến một mảnh trở nên bắt đầu nếu gợi ý đã được thêm vàoFragmentTransaction
chưa được xác nhận. Điều này ảnh hưởng đến người dùngFragmentPagerAdapter
mà ghi đèsetUserVisbileHint()
và giả định một trạng thái vòng đời cụ thể của mảnh sau khi gọisuper.setUserVisibleHint()
. Để biết thêm thông tin, hãy xem trang tham khảo tài liệu vềFragment.setUserVisbileHint()
.
Sửa các vấn đề:
- TabLayout.setCustomView(null) dẫn đến NullPointerException (vấn đề AOSP 214753)
- TabLayout đánh dấu không chính xác các thẻ tuỳ chỉnh (Vấn đề AOSP 214316)
- AppCompatTextHelper sử dụng mảng thuộc tính được sắp xếp không chính xác (Vấn đề AOSP 214366)
- Không thể tham chiếu VectorDrawable từ XML vùng chứa có thể vẽ khi sử dụng ContextWrapper tuỳ chỉnh (Vấn đề AOSP 214055)
- ViewDragHelper.saveLastMotion() gửi ArrayIndexOutOfBoundsException (Vấn đề của AOSP 212945)
- BottomSheetBehavior mở rộng tới chiều cao nội dung cũ khi sử dụng setState(STATE_EXPANDED) (Vấn đề của AOSP 213660)
- CollapsingToolbarLayout không xử lý các thành phần con có thể ghim với lề trên cùng hoặc dưới cùng (vấn đề AOSP 213001)
- Tiêu đề duyệt qua Leanback không hỗ trợ căn chỉnh RTL (Vấn đề AOSP 213461)
- PagerTabStrip biến mất do thiếu chú thích kế thừa (Vấn đề AOSP 213359)
- Tính năng liên kết dữ liệu sẽ gửi NullPointerException khi sử dụng Boolean để đặt cờ có điều kiện (Lỗi AOSP 191841)
- CoordinatorLayout không phản hồi setFitsSystemWindows() (vấn đề AOSP 212720)
- BottomSheetBehavior gặp sự cố khi đặt trạng thái ban đầu (Vấn đề AOSP 203114)
- ViewPager bỏ qua các trang nếu chỉ mục trang là một giá trị lớn (Vấn đề AOSP 211734)
- BottomSheetProcess không hoạt động với bố cục động (Vấn đề AOSP 205226)
Bản sửa đổi 24.0.0
Tháng 6 năm 2016
- Các thay đổi đối với Thư viện hỗ trợ v4:
-
- Thêm
Fragment.commitNow()
cho lệnh xác nhận đồng bộ - Thêm
NotificationCompat.MessagingStyle
cho các cuộc trò chuyện nhiều bên - Thêm
NotificationManagerCompat.areNotificationsEnabled()
vàgetImportance()
MediaSessionCompat
nay phản ánh chức năng củaMediaSession
và không còn tự động gọisetMediaButtonReceiver()
nữa
Lưu ý: Chỉ
MediaBrowserServiceCompat
trong phiên bản 24.0.0 mới tương thích chuyển tiếp với các phiên bản Android sau này 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. - Thêm
- Các thay đổi đối với thư viện Appcompat v7:
-
- Hỗ trợ thêm tính năng tham chiếu các đối tượng
ColorStateList
theo chủ đề từ XML
- Hỗ trợ thêm tính năng tham chiếu các đối tượng
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Những cải tiến đối với việc xử lý độ cao của
AppBarLayout
bằngStateListAnimator
- Những cải tiến đối với việc xử lý độ cao của
- Các thay đổi đối với thư viện Leanback phiên bản 17:
-
- Thêm
OnboardingFragment
để cung cấp lời chào mừng trong lần chạy đầu tiên và quy trình thiết lập
- Thêm
- Các thay đổi cho thẻ tuỳ chỉnh:
-
- Thêm tính năng hỗ trợ cung cấp hệ phân cấp
RemoteViews
cho thanh công cụ phụ - Thêm
CustomTabsClient.connectAndInitialize()
để khởi động một dòng
- Thêm tính năng hỗ trợ cung cấp hệ phân cấp
Bản sửa đổi 23.4.0
Tháng 5 năm 2016
- Các thay đổi đối với Thư viện hỗ trợ v4:
-
- 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 đề thanh ứng dụng không được vẽ sau khi cuộn ra ngoài màn hình. (Vấn đề 178037)
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm phương thức
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
để bật lại việc sử dụng các vectơ vẽ được trong các đối tượngDrawableContainer
trên các thiết bị chạy Android 4.4 (API cấp 19) trở xuống. Hãy xem AppCompat v23.2 – Tuổi của vectơ để biết thêm thông tin. - Khắc phục sự cố trong API 23 khiến
AppCompatDelegate.setDefaultNightMode()
không tải đúng tài nguyên trong API cấp 23. (Vấn đề 206573) - Khắc phục sự cố có thể gây ra
NullPointerException
. (Vấn đề 207638)
- Thêm phương thức
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Khắc phục vấn đề
TextInputLayout
không xoá sắc thái màu lỗi sausetErrorEnabled(false)
ở API cấp 21 – 22 (Vấn đề 202829) - Khắc phục vấn đề
FloatingActionButton
không trả về khi ảnh động bị tắt. (Vấn đề 206416) - Khắc phục vấn đề về chức năng chụp nhanh
AppBarLayout
khi được sử dụng với cờ cuộn
. (Vấn đề 207398)scroll
|enterAlways
|enterAlwaysCollapsed
|snap
- Khắc phục vấn đề
- Các thay đổi đối với thư viện Vectơ vẽ được:
-
- Khắc phục lỗi
VectorDrawableCompat
không hiển thị chính xác trongTextView
ở API cấp 23. (Vấn đề 206227)
- Khắc phục lỗi
Bản sửa đổi 23.3.0
Tháng 4 năm 2016
- Các thay đổi đối với Thư viện hỗ trợ v4:
-
- Thêm
AppLaunchChecker
để giúp theo dõi cách người dùng chạy ứng dụng của bạn trước đây.hasStartedFromLauncher()
cho bạn biết liệu người dùng đã khởi chạy ứng dụng của bạn từ màn hình chính trước đó hay chưa, hay ứng dụng chỉ mới được khởi động bằng cách khác (ví dụ: để xem các URL web cụ thể). - Khắc phục vấn đề rò rỉ bộ nhớ trong
MediaBrowserServiceCompat.mConnections
. (Vấn đề 205220) - Khắc phục vấn đề
ViewPager
không tính đến lề trang khi lật trang. (Vấn đề 203816) Fragment.onRequestPermissionsResult()
hiện được phân phối đến các mảnh con.
- Thêm
- Các thay đổi đối với thư viện Appcompat v7:
-
- Khắc phục vấn đề trong
AppCompatSpinner
có thể khiến nhiều cửa sổ bật lên xuất hiện. (Vấn đề 205052) - Khắc phục vấn đề về màu của các nút không đường viền. (Lỗi 202967)
- Khắc phục vấn đề về khả năng tương thích giữa
AppCompatDialogFragment
vàAlertDialog
. (Vấn đề 204805) - Huỷ các thay đổi về
TintResources
gây ra vấn đề về bộ nhớ và cấu hình. (Vấn đề 205236)
- Khắc phục vấn đề trong
- Các thay đổi đối với thư viện mediarouter v7:
-
- Khắc phục hành vi của thanh trượt âm lượng
MediaRouteControllerDialog
. (Lỗi 202299)
- Khắc phục hành vi của thanh trượt âm lượng
- Các thay đổi đối với thư viện Lựa chọn ưu tiên phiên bản 7:
-
- Khắc phục vấn đề
PreferenceFragmentCompat
sẽ gặp sự cố nếu bạn chỉ địnhdividerHeight
. (Vấn đề 204778)
- Khắc phục vấn đề
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Khắc phục lỗi trong đó
RecyclerView
không gọi ra các lệnh gọi lại cuộn nếu phạm vi các mục hiển thị bị thu hẹp. (Lỗi 200987) - Khắc phục lỗi
RecyclerView
bị treo nếu ở bố cục tuyến tính, có trọng số và hình ảnh được chứa. (Vấn đề 203276) - Khắc phục sự cố trong
OrientationHelper.getStartAfterPadding()
. (Vấn đề 180521) - Khắc phục sự cố khi sử dụng
android:nestedScrollingEnabled
. (Lỗi 197932)
- Khắc phục lỗi trong đó
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Khắc phục lỗi trong đó bảng dưới cùng bị ẩn sẽ xử lý các sự kiện chạm. (Vấn đề 203654)
- Khắc phục vấn đề về bố cục với
BottomSheetBehavior
khifitsSystemWindows
là true. (Vấn đề 203057) - Khắc phục vấn đề về hỗ trợ tiếp cận với
Snackbar
. (Vấn đề 182145) - Khắc phục sự cố khi vuốt
Snackbar
. (Vấn đề 203924) - Sửa một lỗi trong
AppBarLayout
vớienterAlways
. (Vấn đề 203661) - Sửa lỗi
TextInputLayout
xoá bộ lọc màu nền của đối tượngEditText
một cách không cần thiết. (Vấn đề 203357)
Bản sửa đổi 23.2.1
Tháng 3 năm 2016
- Các thay đổi đối với Thư viện hỗ trợ v4:
-
- Khắc phục một ngoại lệ trong
DrawableCompat.wrap()
vàLayerDrawable
trên API cấp 17 đến 19. (Lỗi 201817) - Khắc phục lỗi
ArrayIndexOutOfBoundsException
trongViewDragHelper.shouldInterceptTouchEvent()
. (Vấn đề 182262) - Sửa lỗi trong
ViewPager
liên quan đến việc tính toán thao tác cuộn để thay đổi kích thước. - Sửa
NullPointerException
khiDrawerLayout.removeDrawerListener()
được gọi mà không cóDrawerLayout.DrawerListener
được đặt. (Vấn đề 202478) - Khắc phục lỗi
ViewPager
không đặt các tham sốAccessibilityEvent
đúng cách khi cuộn. - Khắc phục vấn đề gây ra độ trễ trong quá trình xoay thiết bị khi sử dụng
Drawable.wrap()
. (Vấn đề 201924)
- Khắc phục một ngoại lệ trong
- Các thay đổi đối với thư viện Appcompat v7:
-
- Huỷ bỏ phần phụ thuộc trên thành phần vectơ để các nhà phát triển sử dụng thư viện appcompat không bị buộc phải sử dụng
VectorDrawable
và các cờ bản dựng liên kết với thư viện này. - Khắc phục vấn đề tương thích với Chế độ ban đêm và API cấp 23. (Lỗi 201910)
- Khắc phục vấn đề tương thích với
SwitchCompat
và API cấp 7. (Lỗi 201942) - Khắc phục vấn đề lan truyền giá trị cấu hình trong các đối tượng Tài nguyên Vấn đề 201928
- Khắc phục vấn đề về khả năng tương thích khiến nút huỷ
android.support.v7.app.NotificationCompat.MediaStyle
không xuất hiện trên API cấp 21 trở xuống. (Vấn đề 202156) - Khắc phục sự cố tương thích với
AppCompatSpinner
ở API cấp 21 trở xuống. (Vấn đề 202246) - Khắc phục vấn đề kiểu
app:textAllCaps = "false"
không hoạt động. (Vấn đề 202117) - Khắc phục sự cố khi khôi phục
SearchView
. (Vấn đề 201836) - Khắc phục sự cố rò rỉ bộ nhớ xảy ra khi phủ màu các tài nguyên có thể vẽ bằng AppCompat. (Vấn đề 202379)
- Khắc phục vấn đề với
KeyEvent
ở API cấp 11 trở xuống. (Vấn đề 202939)
- Huỷ bỏ phần phụ thuộc trên thành phần vectơ để các nhà phát triển sử dụng thư viện appcompat không bị buộc phải sử dụng
- Các thay đổi đối với thư viện chế độ xem thẻ phiên bản 7:
-
- Thêm tính năng hỗ trợ Chế độ ban đêm cho
CardView
. (Lỗi 194497)
- Thêm tính năng hỗ trợ Chế độ ban đêm cho
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Khắc phục lỗi liên quan đến nhiều phương pháp thông số đo lường. (Lỗi 201856)
- Giảm thời gian khoá mà
RecyclerView
không cho phép thay đổi bộ chuyển đổi trong khi tính toán bố cục hoặc cuộn. (Vấn đề 202046) - Khắc phục sự cố khi gọi
notifyItemChanged()
trên một mục nằm ngoài khung hiển thị. (Lỗi 202136) - Khắc phục sự cố xảy ra khi
RecyclerView.LayoutManager
thêm và xoá một thành phần hiển thị trong cùng một lượt đo lường. (Lỗi 193958)
- Các thay đổi đối với thư viện mediarouter v7:
-
- Khắc phục sự cố xảy ra khi gọi
MediaRouter.getInstance()
trên API cấp 17. (Vấn đề 180654)
- Khắc phục sự cố xảy ra khi gọi
- Các thay đổi đối với Thư viện Leanback phiên bản 17:
-
- Khắc phục vấn đề với
GridLayout.onAddFocusables()
khiến bạn chọn sai mục. - Khắc phục vấn đề về việc các hành động
GuidedStepFragment
biến mất sau khi một hành động bị thu gọn.
- Khắc phục vấn đề với
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Khắc phục sự cố
TabLayout
do việc gộp thẻ gây ra. (Vấn đề 201827) - Sửa lỗi trong
NavigationView
khiến bạn chọn sai màu. (Lỗi 201951) - Khắc phục lỗi trong đó
setBackgroundTintList()
không thể thay đổi màu nền nữa. (Vấn đề 201873) - Khắc phục vấn đề
AppBarLayout
không cuộn ra khỏi khung hiển thị hoàn toàn khi được sử dụng vớiandroid:fitsSystemWindows = “true”
. (Vấn đề 201822) - Khắc phục vấn đề
BottomSheetDialog
không hiển thị các lượt xem nội dung ngắn một cách chính xác. (Lỗi 201793) - Khắc phục vấn đề
BottomSheetDialogFragment
di chuyển ngẫu nhiên khi nội dung bên trong thay đổi. (Vấn đề 202125) - Khắc phục sự cố trong đường liên kết của bộ đếm TextInputLayout
- Khắc phục sự cố xảy ra khi
TextInputLayout.getCounterMaxLength()
khôi phục trạng thái đã lưu. (Vấn đề 202375) - Sửa
ClassCastException
xảy ra khi khôi phụcCoordinatorLayout
sử dụng trạng thái đã lưu của khung hiển thị không phải làCoordinatorLayout
.
- Khắc phục sự cố
- Các thay đổi đối với VectorDrawableCompat:
-
- Khắc phục lỗi khi đọc sai biến cho
android:tintMode
. (Lỗi 201907)
- Khắc phục lỗi khi đọc sai biến cho
Bản sửa đổi 23.2.0
Tháng 2 năm 2016
- Các thay đổi đối với Thư viện hỗ trợ phiên bản 4:
-
- Thêm
MediaBrowserCompat
để hỗ trợMediaBrowser
vàMediaBrowserServiceCompat
để hỗ trợMediaBrowserService
. Tính năng này rất hữu ích khi kết nối dịch vụ nền của ứng dụng đa phương tiện với các thành phần giao diện người dùng, đồng thời tích hợp với Android Auto và Android Wear mà không yêu cầu API cấp 21 trở lên. - Hệ thống hiện gọi
onActivityResult()
cho mộtFragmentActivity
lồng.
- Thêm
- Các thay đổi đối với thư viện AppCompat phiên bản 7:
-
- Thêm chức năng Chế độ ban đêm vào API cấp 14 trở lên. Chuyển đổi giữa Giao diện sáng Material và Giao diện tối của Material dựa trên thời gian trong ngày hoặc chế độ cài đặt dành riêng cho ứng dụng.
-
- Bạn có thể tìm thấy chủ đề về 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 đè chế độ cài đặt chế độ ban đêm cho thành phần ứng dụng cục bộ.AppCompatDelegate.getDefaultNightMode()
: trả về chế độ ban đêm mặc định.
- Bạn có thể tìm thấy chủ đề về ngày và đêm tại đây:
- Các thay đổi đối với thư viện mediarouter v7:
-
MediaRouteControllerDialog
hiện áp dụng chính xác màu giao diện tuỳ chỉnh của ứng dụng.
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Thêm tính năng hỗ trợ cho bảng dưới cùng. Trình bổ trợ tương tác
BottomSheetBehavior
cho phép khung hiển thị con củaCoordinatorLayout
hoạt động như một bảng dưới cùng. Lớp cơ sởBottomSheetCallback
cung cấp các lệnh gọi lại để theo dõi các sự kiện của bảng dưới cùng.
- Thêm tính năng hỗ trợ cho bảng dưới cùng. Trình bổ trợ tương tác
- Các thay đổi đối với thư viện hỗ trợ CustomTabs:
-
- Giờ đây, Thẻ tuỳ chỉnh của Chrome cho phép các ứng dụng thêm thanh dưới cùng với các nút hành động ngoài nút hành động trên cùng hiện có.
CustomTabsIntent.Builder.addToolBarItem()
: thêm nút hành động vào một thẻ tuỳ chỉnh. Bạn có thể dùng nút 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 sẽ chỉ thành công nếu được cung cấp một mã nhận dạng 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:
-
- Các lớp đã thêm:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- Bổ sung tính năng hỗ trợ cho các thành phần
VectorDrawable
vào các ứng dụng chạy trên API cấp 7 trở lên. Các thành phầnAnimatedVectorDrawable
cũng được hỗ trợ trên API cấp 11 trở lên. Thành phần vectơ có thể nhỏ hơn đáng kể so với thành phần hình ảnh và sẽ giúp giảm kích thước ứng dụng bằng cách giảm số lượng thành phầ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 các nhà phát triển và AppCompat dễ dàng sử dụng các vectơ vẽ được. Để sử dụng
VectorDrawableCompat
trongImageButton
hoặcImageView
, hãy dùng thuộc tính XMLapp:srcCompat
hoặc phương thứcsetImageResource()
. - Để tiếp tục tham chiếu mã thuộc tính ở API cấp 20 trở xuống, hãy thêm cờ
appt
sau đây vào tệpbuild,gradle
: -
- Nếu bạn đang dùng Trình bổ trợ Android cho Gradle 1.5.0 trở xuống, 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 dùng Trình bổ trợ Android cho Gradle 2.0.0 trở lên, hãy thêm đoạn mã sau vào tệp
build.gradle
: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Nếu bạn đang dùng Trình bổ trợ Android cho Gradle 1.5.0 trở xuống, hãy thêm đoạn mã sau vào tệp
- Các thay đổi đối với Thư viện Leanback phiên bản 17:
-
- Thêm các tính năng mới vào
GuidedStepFragment
(một thành phần hướng dẫn người dùng về một quyết định hoặc một loạt các quyết định): -
- Đã thêm các thao tác của nút vào
GuidedAction
: GuidedStepFragment.setButtonActions()
: thiết lập một danh sách các nútGuidedAction
mà người dùng có thể chọn trong khung hiển thị Thao tác.- Giờ đây, bạn có thể chỉnh sửa các trường nội dung mô tả:
-
GuidedAction.Builder.descriptionEditable()
: khi chuyểntrue
, đặt nội dung mô tả hành động thành có thể chỉnh sửa.GuidedAction.getEditDescription()
: trả về nội dung mô tả có thể chỉnh sửa dưới dạngCharSequence
.
- Thêm danh sách thả xuống gồm các hành động phụ:
-
GuidedAction.setSubActions()
: đặt danh sáchGuidedAction
ở dạng trình đơn thả xuống gồm các hành động phụ.
- Đã thêm các thao tác của nút vào
- Thêm tiện ích
GuidedDatePickerAction
cho chức năngDatePicker
: -
- Ngày được chọn bằng cách sử dụng các cột năm, tháng và ngày, đồng thời có một phạm vi có thể tuỳ chỉnh.
GuidedDatePickerAction.Builder
: lớp trình tạo cho đối tượngGuidedDatePickerAction
.GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat)
: đặt định dạng ngày mong muốn bằng cách truyềnString
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 XMLdatePickerFormat
.
- Thêm các tính năng mới vào
- Các thay đổi đối với thư viện RecyclerView phiên bản 7:
-
RecyclerView
hiện có một tính năng chọn sử dụng có tên là AutoMeasure, cho phépRecyclerView.LayoutManager
dễ dàng bao bọc nội dung hoặc xử lý các thông số kỹ thuật đo lường khác nhau do thành phần mẹ củaRecyclerView
cung cấp. API này hỗ trợ mọi chức năng ảnh động hiện có củaRecyclerView
.-
- Nếu bạn có
RecyclerView.LayoutManager
tuỳ chỉnh, hãy gọisetAutoMeasureEnabled(true)
để bắt đầu sử dụng API Auto Measure mới. Tất cả các đối tượngRecyclerView.LayoutManager
tích hợp sẵn đều 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 đặtRecyclerView.LayoutParams
, chẳng hạn nhưMATCH_PARENT
theo hướng cuộn.Lưu ý: Những hạn chế gia tăng này có thể gây ra hành vi không mong muốn trong bố cục của bạn. Hãy đảm bảo bạn chỉ định đúng thông số bố cục.
- Nếu bạn có
- Khi cập nhật
RecyclerView.ViewHolder
bằng thông tin về tải trọng,DefaultItemAnimator
hiện sẽ tắt ảnh động thay đổi. - Giờ đây, bạn có thể điều chỉnh tốc độ thoát
ItemTouchHelper
để kiểm soát độ nhạy của thao tác vuốt. Để việc vuốt dễ hoặc khó hơn, hãy ghi đègetSwipeEscapeVelocity(float defaultValue)
và sửa đổidefaultValue
.
Bản sửa đổi 23.1.1
Tháng 11 năm 2015
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Khắc phục sự cố xảy ra khi bạn thực hiện thao tác vuốt để đóng mà lớp tiện ích
ItemTouchHelper
cung cấp, sau đó thêm một mục. (Vấn đề 190500)
- Khắc phục sự cố xảy ra khi bạn thực hiện thao tác vuốt để đóng mà lớp tiện ích
- Các thay đổi đối với thư viện lựa chọn ưu tiên phiên bản 7:
-
- Khắc phục vấn đề về việc sử dụng ProGuard. (Vấn đề 183261)
- 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ớpNavigationView
. - Khắc phục vấn đề nền trong suốt cho đối tượng
FloatingActionButton
trên các thiết bị chạy Android 4.0 (API cấp 15) trở xuống. (Vấn đề 183315)
- Thêm phương thức
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 íchNestedScrollView
. API này 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 được sang dịch vụ đang quản lý lớpMediaSessionCompat
. LớpMediaSessionCompat
có một hàm khởi tạo có thể tự động tìm trình nhận nút nội dung đa phương tiện trong tệp kê khai. Trình thu 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 từ bộ điều khiển phần cứng hoặc Bluetooth.
- Thêm tính năng hỗ trợ giao diện
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm các tiện ích Material Design
Seekbar
vàImageButton
. - 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
.
- Thêm các tiện ích Material Design
- 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
: - Hiển thị trang đang tải trong khi khám phá các nhà cung cấp định tuyến nội dung nghe nhì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 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 biết tính năng 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 và tỷ lệ khung hình cho ảnh bìa đĩa nhạc, đồ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 vào không gian màn hình có sẵn trên thiết bị.
- Hỗ trợ chế độ ngang.
- Thêm các tính năng sau vào lớp
- Các thay đổi đối với 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 vùng cụ thể của đối tượngBitmap
.
- Thêm phương thức
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Thêm API ảnh động đã cải tiến vào lớp
ItemAnimator
để tuỳ chỉnh tốt hơn: - Ảnh động thay đổi không còn thực thi 2 bản sao của đối tượng
ViewHolder
nữa, điều này sẽ bật ảnh động nội dung mục. Ngoài ra, đối tượngItemAnimator
sẽ quyết định việc sử dụng lại cùng một đối tượngViewHolder
hay tạo một đối tượng mới. - API bản ghi thông tin mới cho phép lớp
ItemAnimator
linh hoạt thu thập dữ liệu vào đúng thời điểm trong vòng đời bố cục. Sau đó, thông tin này được chuyển vào các lệnh gọi lại tạo ảnh động.
- Cung cấp kế hoạch chuyển đổi đơn giản cho sự 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
, thì bạn có thể thay đổi lớp cơ sở thànhSimpleItemAnimator
và mã của bạn sẽ hoạt động như trước. LớpSimpleItemAnimator
cung cấp API cũ bằng cách gói API mới. - Một số phương thức đã bị xoá khỏi lớp
ItemAnimator
. Mã sau đây sẽ không được 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); }
- Thêm API ảnh động đã cải tiến vào lớp
- Các thay đổi đối với thư viện Hỗ trợ lựa chọn ưu tiên v7, v14 và v17:
-
- Xoá các API để kiểm soát hộp thoại
EditText
.
- Xoá các API để kiểm soát hộp thoại
- Các thay đổi đối với Thư viện hỗ trợ Leanback phiên bản 17:
-
- Thêm một phiên bản lớp
GuidedStepFragment
cho Thư viện hỗ trợ (mở rộngandroid.support.v4.app.Fragment
) cũng như cải thiện các ảnh động và hiệu ứng chuyển tiếp. - Cập nhật lớp
GuidedStepFragment
để có thể đặt lớp này lên trên nội dung hiện có. - Thêm tính năng chú thích nhiều kiểu hoàn thành nội dung tìm kiếm 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 lớp
VerticalGridFragment
.
- Thêm một phiên bản lớp
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Thêm tính năng hỗ trợ
tính năng
Đếm ký tự vào tiện ích
TextInputLayout
. - Thêm tính năng hỗ trợ chụp nhanh cạnh cho lớp
AppBarLayout
bằng cách thêm hằng sốSCROLL_FLAG_SNAP
. Khi cuộn kết thúc, nếu chỉ nhìn thấy một phần khung hiển thị, thì khung hiển thị đó sẽ được điều chỉnh nhanh và cuộn đến cạnh gần nhất. - Thêm tính năng hỗ trợ khung hiển thị tuỳ chỉnh vào lớp
NavigationView
bằng cách sử dụng thuộc tínhapp:actionLayout
hoặc phương thứcMenuItemCompat.setActionView()
.
- Thêm tính năng hỗ trợ
tính năng
Đếm ký tự vào tiện ích
- 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 lớpCustomTabsIntent
. Tệp này cho phép ứng dụng tuỳ chỉnh xem có tự động ẩn thanh URL khi cuộn xuống hay không. - Thêm phương thức
setActionButton()
vào lớpCustomTabsSession
. API này cho phép ứng dụ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 các hằng số
TAB_SHOWN
vàTAB_HIDDEN
dưới dạng sự kiện mới cho phương thứconNavigationEvent
của lớpCustomTabsCallback
.
- Thêm phương thức
Bản sửa đổi 23.0.1
Tháng 9 năm 2015
- Các thay đổi đối với Thư viện hỗ trợ lựa chọn ưu tiên v7 và v14:
-
- Thêm các tệp kiểu và bố cục Material Design. (Vấn đề 183376)
- Các thay đổi đối với thư viện Appcompat v7:
-
- Khắc phục các vấn đề sự cố cho lớp
Fragment
bằng cách giới hạn việc sử dụng các lớp phần cứng ở Android 4.1 (API cấp 16) trở lên. (Vấn đề 183896) - Khắc phục vấn đề các nút phần cứng không hoạt động khi một hoạt động đặt lớp
Toolbar
để hoạt động nhưActionBar
bằng cách sử dụng phương thứcsetSupportActionBar()
. (Vấn đề 183334) - Cập nhật lớp
AppCompatDialogFragment
để lớp này không còn gửi lỗiWindows feature must be requested before adding content
nữa. (Vấn đề 183186)
- Khắc phục các vấn đề sự cố cho lớp
- Các thay đổi đối với Thư viện hỗ trợ thiết kế:
-
- Sửa lớp
AppBarLayout
để lớp này giờ đây có thể vẽ chính xác sau khi xoay. (Vấn đề 183109) - Sửa lỗi
TabLayout
để lớp này giờ đây hoạt động chính xác khi người dùng nhấp sau khi vuốt. (Vấn đề 183123)
- Sửa lớp
- Các thay đổi đối với Thư viện hỗ trợ thẻ tuỳ chỉnh:
-
- Giảm giá trị
minSdkVersion
từ 16 xuống 15 để hỗ trợ phiên bản. - Thêm cách tạo
CustomTabsSessionToken
từ một ý định.
- Giảm giá trị
Bản sửa đổi 23
Tháng 8 năm 2015
- Thêm 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 Báo cáo về sự khác biệt giữa API của Thư viện hỗ trợ.
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()
vàshow()
vào lớpFloatingActionButton
để kích hoạt ảnh động có lập trình. - Thêm hằng số
LENGTH_INDEFINITE
vào lớpSnackbar
để hiển thị một thanh thông báo nhanh cho đến khi thanh này bị đóng hoặc một thanh thông báo nhanh khác xuất hiện. Ngoài ra, chúng tôi đã thêm các phương thứcsetActionTextColor(int)
vàsetActionTextColor(ColorStateList)
. - Thêm phương thức
getSelectedTabPosition()
vào lớpTabLayout
để truy xuất thẻ hiện được chọn. - Cung cấp một API hoàn toàn thông thạo cho lớp
android.support.v7.app.NotificationCompat.MediaStyle
để tạo chuỗi phương thức. - 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.
- Thêm các phương thức
Để xem danh sách đầy đủ các thay đổi đối với Thư viện hỗ trợ, hãy xem Báo cáo về sự khác biệt giữa API của Thư viện hỗ trợ.
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ị văn bản gợi ý và văn bản lỗi vềEditText
dưới dạng nhãn nổi. - Thêm
FloatingActionButton
để triển khai hành động chính trên giao diện dưới dạng 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
để đưa ra ý kiến phản hồi gọn nhẹ 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 thẻ cố định và có thể cuộn, cũng như dễ dàng tích hợp vớiViewPager
. - Thêm
NavigationView
để triển khai nội dung 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 của trình đơn. - Thêm
CoordinatorLayout
(một bố cục dùng cho mục đích chung), dùng để xây dựng các phần phụ thuộc giữa các thành phần hiển thị đồng cấp và cho phép dễ dàng cuộn các phản ứng giữa các thành phần thông quaCoordinatorLayout.Behavior
. Nhiều thành phần Thư viện thiết kế dựa vào phần tử con củaCoordinatorLayout
. - Thêm
AppBarLayout
, một vùng chứa choToolbar
và các thành phần hiển thị khác (chẳng hạn nhưTabLayout
) để 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ị khi người dùng cuộn xuống hoặc thu gọn/huỷ thu gọn trước khi cuộn ra khỏi màn hình. - Thêm
CollapsingToolbarLayout
để kiểm soát cáchToolbar
thu gọn. Thanh công cụ có thể thu gọn bằng cách: ghim các thành phần lên đầu màn hình trong khi thanh này thu gọn, ra mắt tính năng 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 khung hiển thị được thu gọn một phần.
- Thêm
- Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
-
- Thêm các phương thức
getContentChangeTypes()
vàsetContentChangeTypes()
cũng như các trường loại thay đổi có liên quan vào lớpAccessibilityEventCompat
để xử lý sự kiện hỗ trợ tiếp cận. - Thêm các phương thức
getActiveQueueItemId()
,getCustomActions()
, vàgetExtras()
có các trường trạng thái liên quan vào lớpPlaybackStateCompat
để nhận các thao tác tuỳ chỉnh từ hàng đợi. - Thêm các phương thức
addCustomAction()
,setActiveQueueItemId()
vàsetExtras()
vào lớpPlaybackStateCompat.Builder
để thêm các thao tác tuỳ chỉnh vào trạng thái phát. - Thêm phương thức
fromCustomAction()
vàgetCustomAction()
vào lớpPlaybackStateCompat.CustomAction
để nhận các thao tác tuỳ chỉnh từ hàng đợi. - Thêm phương thức
isAttachedToWindow()
,offsetLeftAndRight()
vàoffsetTopAndBottom()
vào lớpViewCompat
để làm việc với các khung hiển thị. - Thêm phương thức
addOnPageChangeListener()
,clearOnPageChangeListeners()
vàremoveOnPageChangeListener()
vào lớpViewPager
để phản hồi các thay đổi trên trang.Ngừng sử dụng phương thức
ViewPager.setOnPageChangeListener()
. - Thêm phương thức
notifySubtreeAccessibilityStateChanged()
vào lớpViewParentCompat
để thông báo cho thành phần hiển thị gốc về trạng thái hỗ trợ tiếp cận của một trong các thành phần con cháu đã thay đổi. - Thêm phương thức
translationZ()
,translationZBy()
,z()
vàzBy()
vào lớpViewPropertyAnimatorCompat
để thêm ảnh động.
- Thêm các phương thức
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm phương thức
onWindowStartingSupportActionMode()
vào các lớpAppCompatActivity
,AppCompatCallback
vàAppCompatDialog
để xử lý các chế độ hành động bắt đầu từ cửa sổ hiện tại. - Thêm phương thức
isHandleNativeActionModesEnabled()
vàsetHandleNativeActionModesEnabled()
vào lớpAppCompatDelegate
để xử lý các chế độ thao tác gốc.
- Thêm phương thức
Để xem danh sách đầy đủ các thay đổi đối với Thư viện hỗ trợ, hãy xem Báo cáo về sự khác biệt giữa API của Thư viện hỗ trợ.
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ú giải để hỗ trợ việc kiểm tra mã nâng cao. Các chú giải này được thêm dưới dạng thẻ siêu dữ liệu đính kèm vào các biến, tham số và giá trị trả về để kiểm tra các giá trị trả về của phương thức, các tham số đã truyền, cũng như các biến và trường cục bộ.
- Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
-
- Thêm lớp
ColorUtils
để cung cấp một tập hợp các phương thức tiện ích liên quan đến màu sắc. - Thêm các phương thức
unwrap()
vàwrap()
vào lớpDrawableCompat
, cho phép bạn sử dụngsetTint()
,setTintList()
vàsetTintMode()
trên tất cả các thiết bị API cấp 4 trở lên. - Thêm lớp
TraceCompat
để ghi các sự kiện theo dõi vào vùng đệm theo dõi hệ thống. Sau đó, dữ liệu này có thể được thu thập và trực quan hoá bằng công cụ Systrace. - Thêm lớp
CircularIntArray
để tạo cấu trúc dữ liệu mảng số nguyên tròn. - Thêm các phương thức
clear()
,removeFromStart()
vàremoveFromEnd()
vào lớpCircularArray
. Ngoài ra, chúng tôi cũng thay đổi các phương thức hiện có trong lớp này thành các phương thức không phải phương thức chính thức. - Thêm
InputDeviceCompat
làm một lớp trợ giúp để truy cập vào dữ liệu trong lớpInputDeviceCompat
. - Thêm lớp
LayoutInflaterCompat
làm lớp trợ giúp để truy cập vào dữ liệu trong lớpLayoutInflaterCompat
và thêm giao diệnLayoutInflaterFactory
. - Thêm các lớp, phương thức và giao diện để hỗ trợ tính năng cuộn lồng.
- Thêm các lớp trợ giúp
NestedScrollingChildHelper
vàNestedScrollingParentHelper
để triển khai các khung hiển thị mẹ và con có thể cuộn lồng. - Thêm giao diện
NestedScrollingChild
do các lớp conView
triển khai. - Thêm giao diện
NestedScrollingParent
vàScrollingView
để hỗ trợ các thao tác cuộn và cung cấp các API liên quan đến thao tác cuộn. - Thêm phương thức
getNestedScrollAxes()
vào lớpViewGroupCompat
. - Thêm các phương thức vào lớp
ViewParentCompat
để hỗ trợ tính năng cuộn lồng. - Thêm lớp
NestedScrollView
để hỗ trợ tính năng cuộn mẹ và con có thể cuộn lồng trên cả phiên bản Android mới và cũ.
- Thêm các lớp trợ giúp
- Thêm các phương thức và hằng số vào lớp
MotionEventCompat
để nhận các giá trị trục và nguồn sự kiện. - Cập nhật lớp
AccessibilityNodeInfoCompat
để thêm các phương thức cho lỗi, trường hợp vô hiệu hoá nội dung và nhãn. - Thêm các lớp nội suy sau đây cho ảnh động:
FastOutLinearInInterpolator
,FastOutSlowInInterpolator
,LinearOutSlowInInterpolator
,LinearOutSlowInInterpolator
vàPathInterpolatorCompat
. - Thêm lớp
Space
để tạo khoảng trống giữa các thành phần trong bố cục có mục đích chung. Lớp này không còn được dùng trong thư việngridlayout. - Thêm lớp
TextViewCompat
để truy cập các tính năng trongTextView
. - Thêm tham số displacement vào phương thức
onPull()
trong lớpEdgeEffectCompat
.
- Thêm lớp
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm tính năng hỗ trợ sắc thái màu cho các tiện ích tương thích với ứng dụng, bao gồm
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
vàAppCompatTextView
. - Cập nhật
AppCompatActivity
làm lớp cơ sở cho các hoạt động sử dụng các tính năng của thanh thao tác trong thư viện hỗ trợ. Lớp này thay thế choActionBarActivity
đã ngừng hoạt động. - Thêm giao diện
AppCompatCallback
cần triển khai để AppCompat có thể thực hiện các lệnh gọi lại. - Thêm lớp trừu tượng
AppCompatDelegate
làm lớp uỷ quyền mà bạn có thể sử dụng để mở rộng khả năng hỗ trợ của AppCompat cho mọi hoạt động. - Thêm lớp
AppCompatDialog
làm lớp cơ sở cho các hộp thoại theo chủ đề AppCompat. - Thêm các lớp
AlertDialog
vàAlertDialog.Builder
kiểu danh sách màu sắc để cung cấpAlertDialog
theo chủ đề AppCompat. - Thêm lớp
Palette.Builder
để tạo các thực thểPalette
.- Thêm phương thức
from(Bitmap)
vào lớpPalette
để bắt đầu tạo Bảng khung hiển thị bằng thực thểPalette.Builder
được trả về. - Ngừng sử dụng các phương thức
Palette.generate()
vàPalette.generateAsync()
.
- Thêm phương thức
- Thêm phương thức
getAbsoluteAlignment()
vào lớpGridLayout.Spec
. - Ngừng sử dụng
app:theme
để định kiểu choToolbar
. Giờ đây, bạn có thể sử dụngandroid:theme
cho thanh công cụ trên mọi thiết bị API cấp 7 trở lên, đồng thời hỗ trợandroid:theme
cho mọi tiện ích trên API cấp 11 trở lên.
- Thêm tính năng hỗ trợ sắc thái màu cho các tiện ích tương thích với ứng dụng, bao gồm
- Các thay đổi đối với thư viện leanback phiên bản 17:
-
- Thêm
GuidedStepFragment
,GuidanceStylist
vàGuidedActionsStylist
để hỗ trợ việc tạo các quy trình quyết định nhiều bước.
- Thêm
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Thêm các lớp
SortedList
để hiển thị các mục theo thứ tự trong danh sách và đưa ra 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 danh sách đã sắp xếp với lớpRecyclerView.Adapter
.
- Thêm các lớp
- Các thay đổi đối với thư viện RenderScript v8:
-
- Thêm lớp
ScriptIntrinsicHistogram
để dùng làm bộ lọc biểu đồ. - Thêm lớp
ScriptIntrinsicResize
để thực hiện việc đổi kích thước của quá trình phân bổ 2D.
- Thêm lớp
- 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, mật độ màn hình và giao diện cụ thể đã chỉ định. - Thêm phương thức
setImportantForAccessibility()
để bạn có thể cho biết liệu một khung hiển thị có kích hoạt các sự kiện hỗ trợ tiếp cận hay không. - Thêm phương thức
getStatusBarBackgroundDrawable()
để bạn có thể lấy đối tượng có thể vẽ trên nền của thanh trạng thái. - Thêm các phương thức vào lớp
NotificationCompat.CarExtender.UnreadConversation
để các ứng dụng nhắn tin trên 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 hình tròn. - Đã thay đổi màu mặc định của thanh trạng thái
DrawerLayout
thànhcolorPrimaryDark
.
- Cập nhật phương thức
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm kiểu danh sách màu sắc
Base_Widget_AppCompat_Spinner_Underlined
. - Thêm các kiểu tiện ích phủ màu với
Widget_AppCompat_AutoCompleteTextView
,MultiAutoCompleteTextView
,TextAppearance_AppCompat_Button
vàBase_Widget_AppCompat_RatingBar
.
- Thêm kiểu danh sách màu sắc
- Các thay đổi đối với thư viện leanback phiên bản 17:
-
- Thêm các phương thức
getRecycledPoolSize()
và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 bao bọc cho các biểu tượng tiêu đề. - Đã xác định
R.transition
trong XML để cải thiện thông tin cập nhật về quá trình 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ợ các sự kiện phím phát và tạm dừng nội dung đa phương tiện vào lớp
PlaybackOverlayFragment
. - Thêm các hiệu ứng chuyển đổi nhập và trả về vào lớp
BrowseFragment
và lớpDetailsFragment
. - 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.
- Thêm các phương thức
- Các thay đổi đối với thư viện mediarouter v7:
-
- Cập nhật các biểu tượng Google Cast để sử dụng kiểu Material Design.
- Cập nhật tất cả biểu tượng dùng trong hộp thoại
MediaRouter
để sử dụng kiểu Material Design.
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Thêm các phương thức
getlayoutPosition()
vàgetadapterPosition()
vào lớpRecyclerView
. - Ngừng sử dụng các phương thức
classgetChildPosition()
vàfindViewHolderForPosition()
trong lớpRecyclerView
. - Ngừng sử dụng phương thức
getPosition()
trong lớpRecyclerView.ViewHolder
. - Ngừng sử dụng phương thức
getViewPosition()
trong lớpRecyclerView.LayoutParams
.
- Thêm các phương thức
- Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
-
- Thêm một số phương thức
NotificationCompat.WearableExtender
để cải thiện khả năng hiển thị mã vạch trong thông báo trên thiết bị đeo.
- Thêm một số phương thức
- Các thay đổi đối với thư viện hỗ trợ phiên bản 4:
-
- Thêm lớp
NotificationCompat.CarExtender
để hỗ trợ tiện ích Android Auto vào thông báo.
- Thêm lớp
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm hàm khởi tạo
PopupMenu
để hỗ trợ trình đơn bật lên mới. - Thêm tính năng hỗ trợ cho phần mô tả biểu tượng Thu gọn trong lớp
Toolbar
. - Cập nhật tiện ích
SearchView
để hỗ trợ hiển thịcommitIcon
. - Xoá thuộc tính
buttonGravity
khỏi lớpToolbar
.
- Thêm hàm khởi tạo
- Các thay đổi đối với thư viện chế độ xem thẻ phiên bản 7:
-
- Thêm API
setCardBackgroundColor(ColorStateList)
để hỗ trợ thay đổi màu nền củaCardView
. - Thay đổi
CardView
để báo cáo chính xác hơn giá trị độ mờ của thuộc tính làTRANSLUCENT
.
- Thêm API
- Các thay đổi đối với thư viện recyclerview phiên bản 7:
-
- Thêm hằng số
TOUCH_SLOP_DEFAULT
vàTOUCH_SLOP_PAGING
vào lớpRecyclerView
để hỗ trợ các cấu hình trượt dựa trên thao tác chạm để phân trang.
- Thêm hằng số
- Các thay đổi đối với thư viện leanback phiên bản 17:
-
- Thêm tính năng hỗ trợ tạo các mảnh mã v4.
- Đã thay đổi màu văn bản phụ vào
CardView
.
- Thêm thư viện hỗ trợ multidex để hỗ trợ nhiều tệp có thể thực thi Dalvik (DEX) nhằm hỗ trợ tệp nhiều dex trước Android 5.0.
- 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ợ chuyển đổi
Fragment
cho các thiết bị chạy Android 5.0 (API cấp 21). Lưu ý rằng hiệu ứng chuyển đổi không ảnh hưởng đến các thiết bị chạy Android 4.4 trở xuống. - Thêm
DocumentFile
để dễ dàng chuyển đổi từFile
trong khi làm việc với các cây tài liệu. Tuy nhiên, lớp này đòi hỏi chi phí xử lý cao hơn so với APIDocumentsContract
của nền tảng được thêm vào Android 4.4 (API cấp 19). Vì vậy, bạn nên chuyển sang sử dụngDocumentsContract
khi chạy trên Android 4.4 trở lên.
- Thêm tính năng hỗ trợ chuyển đổi
- Các thay đổi đối với thư viện Appcompat v7:
-
- Thêm tính năng hỗ trợ cho giao diện người dùng Material Design.
- Thêm
Toolbar
để khái quát chức năng củaActionBar
để sử dụng trong bố cục ứng dụng. - Cập nhật
ActionBarDrawerToggle
để chứa ảnh động thao tác từ trình đơn đến mũi tên - Cập nhật các tiện ích phổ biến trong giao diện người dùng để cho phép phủ màu qua các thuộc tính giao diện khi chạy trên thiết bị chạy phiên bản trước Android 5.0
- Thêm
SwitchCompat
, một phiên bản cũ của tiện íchSwitch
đã đượ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
. Tiện ích này cung cấp phương thức triển khai tương thích với Material Design để hiển thị các mục dữ liệu.
- Thêm tiện ích
- Thư viện recyclerview phiên bản 7 mới:
-
- Thêm tiện ích
RecyclerView
, tiện ích này cung cấp chế độ xem danh sách linh hoạt để cung cấp một cửa sổ giới hạn vào một tập dữ liệu lớn.
- Thêm tiện ích
- 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ừ hình ảnh.
- Thêm lớp
- Thư viện leanback phiên bản 17 mới:
-
- Thêm tính năng hỗ trợ xây dựng giao diện người dùng của TV, bao gồm cả
BrowseFragment
,DetailsFragment
vàPlaybackOverlayFragment
. Để biết thêm thông tin về cách sử dụng các tiện ích giao diện người dùng này, hãy xem bài viết Xây dựng ứng dụng phát trên TV.
- Thêm tính năng hỗ trợ xây dựng giao diện người dùng của TV, bao gồm cả
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm tính năng hỗ trợ mở rộng cho thông báo cho Android Wear trong
NotificationCompat.WearableExtender
, cho phép bạn chỉ định các 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 hành động trên thông báo trên thiết bị đeo. - Thêm
NotificationManagerCompat
cho phép bạn đưa ra thông báo hỗ trợ đúng cách các tính năng cho thiết bị đeo. - Thêm
RemoteInput
cho phép một thiết bị cầm tay nhận dữ liệu nhập bằng giọng nói 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
.
- Thêm tính năng hỗ trợ mở rộng cho thông báo cho Android Wear trong
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm lớp
SwipeRefreshLayout
, cho phép người dùng làm mới nội dung của khung hiển thị bằng cử chỉ vuốt dọc. - Khắc phục sự cố hỗ trợ tiếp cận với ngăn điều hướng.
- Thêm lớp
- Các thay đổi đối với thư viện Appcompat v7:
-
- Khắc phục các vấn đề về nền với thanh thao tác.
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Cải thiện
PrintHelper
bằng cách thêm chức năng xử lý in không đồng bộ. - Sửa cách ước tính lớp
DrawerLayout
của phương thứcaddChildrenForAccessibility()
. - 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ừng mục riêng lẻ khi xoá một mục khỏi trình lặp của bộ sưu tập.
- Cải thiện
- Các thay đổi đối với thư viện mediarouter v7:
-
- Cải thiện khả năng nhận dạng tuyến bằng cách sử dụng tên thành phần đầy đủ trong
MediaRouteProvider.ProviderMetadata
. - Cập nhật
MediaRouteChooserDialog
để ẩn các tuyến đường bị vô hiệu hoá.
- Cải thiện khả năng nhận dạng tuyến bằng cách sử dụng tên thành phần đầy đủ trong
- Các thay đổi đối với thư viện RenderScript v8
-
- Thêm thông báo lỗi cho lớp thu hồi RenderScript.
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm tính năng hỗ trợ cho các API Bộ nhớ ngoài bằng
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 API in để in hình ảnh với số lượng mã tối thiểu. - Thêm 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
PopupMenuCompat
vàListPopupWindowCompat
. - Cải thiện tính năng hỗ trợ tiếp cận bằng cách bổ sung một phương thức
findFocus()
trongAccessibilityNodeProviderCompat
vàgetLiveRegion()
trongAccessibilityNodeInfoCompat
. - Thêm lớp trợ giúp
ScaleGestureDetectorCompat
để truy cập vào các phương thức cử chỉ điều chỉnh theo tỷ lệ mới. - Khắc phục sự cố với
ActionBarDrawerToggle
trong chế độ hiển thị ngôn ngữ từ phải sang trái. - Sửa đổi tuỳ chọn
AutoScrollHelper
để sử dụng các sự kiện chạm hoặc cho phép truyền các sự kiện đó sang các thành phần hiển thị khác.
- Thêm tính năng hỗ trợ cho các API Bộ nhớ ngoài bằng
- Các thay đổi đối với thư viện mediarouter v7:
-
- Bổ sung tính năng hỗ trợ việc xếp hàng phát nội dung nghe nhìn, đặt giá trị tiêu đề HTTP và thời lượng phát nội dung nghe nhìn.
- Thêm các thao tác bắt đầu, nhận và kết thúc phiên rõ ràng để quản lý rõ ràng các phiên phát nội dung nghe nhìn bằng bộ định tuyến nội dung nghe nhìn.
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Giao diện người dùng
- Thêm
BidiFormatter
để xử lý các chuỗi văn bản kết hợp văn bản theo định dạng từ phải sang trái và từ trái sang phải. - Sửa đổi
ViewPager
để xử lý tốt hơn các trường hợp 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
DrawerLayout
vàSlidingPaneLayout
để không gửi trường hợp ngoại lệ cho hoạt động đo lường trong khi chỉnh sửa mã dự án.
- Thêm
- Hỗ trợ tiếp cận
- Thêm
ExploreByTouchHelper
để đơn giản hoá việc triển khai chức năng hỗ trợ tiếp cận cho khung hiển thị tuỳ chỉnh. - Khắc phục vấn đề về việc
ViewPager
điền không chính xác các sự kiện hỗ trợ tiếp cậnTYPE_VIEW_SCROLLED
. - Khắc phục một ngoại lệ về con trỏ rỗng trong
ViewPager
khi điền sẵn một sự kiện hỗ trợ tiếp cận. - Đơn giản hoá
AccessibilityNodeInfoCompat
bằng cách thay đổi dữ liệu đầu vàoCharSequence
thành các đối tượngString
. - Ngừng sử dụng hàm khởi tạo
AccessibilityRecordCompat
sử dụngObject
làm dữ liệu đầu vào.
- Thêm
- Nội dung nghe nhìn
- Thêm lớp trợ giúp
TransportMediator
để quản lý chức năng điều khiển 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 thao tác khác đối với nội dung nghe nhìn. - Thêm
DisplayManagerCompat
để quản lý kết quả hiển thị vào một hoặc nhiều màn hình thiết bị.
- Thêm lớp trợ giúp
- Nội dung thay đổi khác
- Thêm lớp trợ giúp
WakefulBroadcastReceiver
để triển khai một mẫu chung giúp phát hiện sự kiện đánh thức thiết bị và chuyển công việc sangService
trong khi vẫn đảm bảo rằng thiết bị không quay lại chế độ ngủ trước khi quá trình chuyển giao hoàn tất. - Thêm hai API mới,
commitContentChanged()
vàrollbackContentChanged()
, vàoAsyncTaskLoader
để giúp xử lý các bản cập nhật nền cho những thay đổi về dữ liệu sau đó bị huỷ.
- Thêm lớp trợ giúp
- Giao diện người dùng
- Thư viện Appcompat v7 mới:
-
- Thêm
ActionBar
để cho phép triển khai mẫu thiết kế giao diện người dùng của thanh thao tác trên Android 2.1 (API cấp 7) trở lên. Để sử dụng lớp này, bạn phải triển khai hoạt động bằng cách mở rộng lớpActionBarActivity
mới.
- Thêm
- Thư viện mediarouter v7 mới:
-
Thêm thư viện mediarouter mới hỗ trợ 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 thức để kiểm soát việc định tuyến các kênh và luồng nội dung nghe nhìn từ thiết bị hiện tại đến 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). Hãy xem thư viện mediarouter V7 để biết thêm thông tin.
Các API thư viện mediarouter v7 ra mắt trong Thư viện hỗ trợ r18 có thể thay đổi trong các bản sửa đổi sau này của Thư viện hỗ trợ. Tại thời điểm này, bạn chỉ nên sử dụng thư viện cùng với bản xem trước dành cho nhà phát triển Google Cast.
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm
DrawerLayout
để tạo Ngăn điều hướng có thể kéo vào từ cạnh của cửa sổ. - Thêm tiện ích
SlidingPaneLayout
để tạo các khung hiển thị tóm tắt và chi tiết được liên kết sao cho phù hợp với nhiều kích thước màn hình. - Thêm
ActionBarDrawerToggle
để liên kết các hàm củaDrawerLayout
vàActionBar
. - Thêm
ViewDragHelper
làm thành phần phổ biến mới để kéo các khung hiển thị trong khung hiển thị mẹ. - Thêm
ScrollerCompat
để hỗ trợ khả năng tương thích vớiScroller
vàOverScroller
. - Thêm
FileProvider
để cho phép chia sẻ các tệp riêng tư giữa các ứng dụng. - Cập nhật
ViewPager
để gửi một trường hợp ngoại lệ nếu lớpPagerAdapter
liên kết bị sửa đổi mà không có lệnh gọi đếnnotifyDataSetChanged()
. - Khắc phục vấn đề về thứ tự sắp xếp vẽ của
ViewPager
. - Khắc phục
GestureDetectorCompat
để gửi các lệnh gọionSingleTapConfirmed(MotionEvent)
bị thiếu giữa thời gian chờ nhấn và sự kiện nhấn và giữ.
- Thêm
- Thư việngridlayout phiên bản 7 mới:
-
- Thêm
GridLayout
để hỗ trợ đối tượng bố cụcGridLayout
. - Thêm
android.support.v7.widget.Space
có thể dùng để tạo các vùng trống trong đối tượng bố cụcGridLayout
.
- Thêm
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- 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 quá trình bố cục choViewPager
. - Khắc phục vấn đề về
SearchViewCompat
, trong đó việc sử dụng nút quay lại để đóng sẽ không xoá văn bản tìm kiếm. Bản sửa lỗi này chỉ áp dụng cho API máy chủ cấp 14 trở lên.
- Cải thiện hành vi tương tác cho
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Giao diện người dùng
- Thêm tính năng hỗ trợ cho các lớp
Fragment
lồng nhau. - Bổ sung các điểm cải tiến đối với tính năng gỡ lỗi
FragmentManager
. - Khắc phục sự cố trong
FragmentTabHost
, trong đó việc tương tác với mảnh và thẻ có thể dẫn đến việc mất trạng tháiListView
. - Khắc phục vấn đề về gợi ý mà người dùng thấy trong
FragmentStatePagerAdapter
. - Thêm giao diện
PageTransformer
vàoViewPager
để 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 và bản sửa lỗi mới cho
TaskStackBuilder
trong bản phát hành hiện tại. - Sửa
PagerTitleStrip
để theo dõi chính xácPagerAdapter
hiện đang được sử dụng. - Khắc phục các sự cố nhấp nháy, định vị và cắt văn bản trên màn hình với
PagerTitleStrip
. - Sửa
PagerTabStrip
để tôn trọng khoảng đệm đúng cách khi vẽ đường gạch chân.
- Thêm tính năng hỗ trợ cho các lớp
- Hỗ trợ tiếp cận
- Thêm tính năng hỗ trợ cho các loại sự kiện chạm và cử chỉ hỗ trợ tiếp cận mới trong
AccessibilityEventCompat
. - Thêm tính năng hỗ trợ cho các API hỗ trợ tiếp cận mới trong
ViewCompat
. - Thêm tính năng hỗ trợ cho phương thức
performAccessibilityAction()
vàoViewCompat
.
- Thêm tính năng hỗ trợ cho các loại sự kiện chạm và cử chỉ hỗ trợ tiếp cận mới trong
- 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 phép toán nguyên tử trên các tệp bằng cách sử dụng một lớp
AtomicFile
mới. - Thêm tính năng hỗ trợ cho tập hợp đầy đủ các phương thức
make
trongIntentCompat
. - Thêm phương thức
trimToSize()
trong lớp tiện íchLruCache
. - Cập nhật
ConnectivityManagerCompat
để lấy NetworkInfo từ một thông báoCONNECTIVITY_ACTION
.
- Giao diện người dùng
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- 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 điểm bổ sung cho
NotificationCompat
.
- 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 điểm bổ sung cho
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Hỗ trợ giao diện người dùng
- Thêm tính năng hỗ trợ
PagerTabStrip
, cung cấp chức năng nâng cao ngoàiPagerTitleStrip
. - Sửa nhiều lỗi cho
PagerTitleStrip
vàPagerTabStrip
, trong đó có tuỳ chọnsetAllCaps
, căn chỉnh tiêu đề, cải thiện giao diện, giới hạn chiều rộng tối thiểu và các vấn đề về thao tác bằng cách chạm. - Thêm tính năng hỗ trợ cho rãnh trang
ViewPager
, giúp lớpViewPager
hỗ trợ phân trang cho nội dung có phạm vi cuộn ngang lớn, chẳng hạn như bản đồ. - Khắc phục nhiều lỗi cho
ViewPager
, bao gồm các vấn đề về thay đổi kích thước và tập dữ liệu, vị trí trang, hoạt động tương tác của người dùng, hoạt động theo dõi thao tác cuộn và điều hướng bằng bàn phím. - Khắc phục nhiều lỗi cho
Fragment
, bao gồm việc xử lýonActivityResult()
đúng cách 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ải thiện hành viFragmentTransaction.replace()
và thêm khả năng xử lý trạng thái tốt hơn cho các mảnh bị chuyển ra khỏi khung hiển thị. - Thêm tính năng hỗ trợ cho phương thức
postOnAnimation()
trongViewCompat
. - Cập nhật
NavUtils
để sử dụng chức năng chỉ đường Up (Lên) trên Android 4.1 (API cấp 16) khi có sẵn.
- Thêm tính năng hỗ trợ
- Hỗ trợ tiếp cận
- Cập nhật các lớp hỗ trợ 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ợ cho các thao tác cuộn hỗ trợ tiếp cận trong
ViewPager
.
- Cập nhật các lớp hỗ trợ hỗ trợ tiếp cận, bao gồm cả
- Cải tiến chung
- Cập nhật
TaskStackBuilder
để phản ánh các thay đổi về API trong Android 4.1 (API cấp 16). - Đã tăng cường
TaskStackBuilder
để cho phép sử dụng trong một Dịch vụ. - Thêm tính năng hỗ trợ cho
EXTRA_HTML_TEXT
vàoShareCompat
. - Cập nhật
NotificationCompat.Builder
để hỗ trợ phương thứcsetNumber()
. - Thêm tính năng hỗ trợ trong
ConnectivityManagerCompat
cho phương thứcisActiveNetworkMetered()
.
- Cập nhật
- Hỗ trợ giao diện người dùng
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Sửa cờ ý định cho các đối tượng
PendingIntent
doTaskStackBuilder
tạo. - Xoá các thuộc tính không dùng đến khỏi dự án thư việngridlayout để đảm bảo 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
và.project
cho dự án thư viện networklayout.
- Sửa cờ ý định cho các đối tượng
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- 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 để phân bổ dữ liệu được chia sẻ cho ứng dụng nguồn. Lớp này cũng cung cấp khả năng tích hợp tương thích vớiShareActionProvider
mới trong Android 4.0. - Thêm
NavUtils
vàTaskStackBuilder
để hỗ trợ triển khai các nguyên tắc Thiết kế Android cho hoạt động điều hướng. Những nội dung bổ sung này bao gồm cách triển khai nút Up (Lên) của thanh thao tác trên các phiên bản. Để biết 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 cách triển khai khả năng tương thích của lớp trình trợ giúpNotification.Builder
của Android 3.0 nhằm tạo các thông báo hệ thống chuẩn.
- Thêm
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Các thay đổi đối với ViewPager:
- Thêm tính năng hỗ trợ khung hiển thị trang trí bổ sung cho
ViewPager
. Bạn có thể cung cấp thành phần hiển thị trang trí dưới dạng thành phần hiển thị con của một chế độ phân trang trong bố cục XML. - Thêm
PagerAdapter.getPageTitle()
để cung cấp chuỗi tiêu đề cho các trang, mặc định không có tiêu đề cho mỗi trang. - Thêm
PagerTitleStrip
, một dải tiêu đề không tương tác, có thể được thêm dưới dạng phần tử con của ViewPager. Nhà phát triển có thể cung cấp giao diện và màu sắc văn bản, 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
để lấy các đối tượng ViewGroup, thay vì Khung hiển thị nhằm 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 hành vi hất kiểu Trình chạy. - Sửa lỗi để tương tác trên giao diện người dùng và kiểm tra tự động.
- Thêm tính năng hỗ trợ khung hiển thị trang trí bổ sung cho
- Hỗ trợ các Mảnh:
- Đã thay đổi phương thức
setStartDeferred()
thànhsetUserVisibleHint(boolean)
. - Thêm tính năng bắt đầu trì hoãn cho các trang ngoài màn hình để cải thiện hiệu suất.
- Đã thay đổi phương thức
- Hỗ trợ API Hỗ trợ tiếp cận:
- Cập nhật các phương thức
AccessibilityDelegateCompat
để trả về danh sách trống thay vì giá trị rỗng. - Thêm các API mới cần thiết cho các mẫu phiên bản 4.
- Cập nhật các phương thức
- Các thay đổi đối với ViewPager:
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Hỗ trợ API Hỗ trợ tiếp cận:
- Thêm
AccessibilityDelegateCompat
để hỗ trợView.AccessibilityDelegate
. - Thêm
AccessibilityEventCompat
để hỗ trợAccessibilityEvent
. - Thêm
AccessibilityManagerCompat
để hỗ trợAccessibilityManager
. - Thêm
AccessibilityNodeInfoCompat
để hỗ trợAccessibilityNodeInfo
. - Thêm
AccessibilityRecordCompat
để hỗ trợAccessibilityRecord
. - Thêm
AccessibilityServiceInfoCompat
để hỗ trợAccessibilityServiceInfo
. - Thêm
ViewGroupCompat
để hỗ trợ bộ tính năng hỗ trợ tiếp cận trongViewGroup
. - Sửa đổi
ViewCompat
để hỗ trợ bộ tính năng hỗ trợ tiếp cận trongView
.
- Thêm
- Các thay đổi đối với ViewPager:
- Thêm tính năng hỗ trợ lề giữa các trang.
Bạn có thể cung cấp một
Drawable
không bắt buộc để lấp đầy lề. - Thêm tính năng hỗ trợ cho
EdgeEffect
. - Thêm tính năng hỗ trợ điều hướng bằng bàn phím
- Thêm tuỳ chọn hỗ trợ để kiểm soát số lượng trang được lưu giữ ở một trong hai bên của trang hiện tại.
- Cải thiện tính năng vật lý chạm.
- Sửa lỗi cho hành vi trên giao diện người dùng.
- Thêm tính năng hỗ trợ lề giữa các trang.
Bạn có thể cung cấp một
- Hỗ trợ API Hỗ trợ tiếp cận:
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm
EdgeEffectCompat
để 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 duy nhất mà không cần truyền phát các ý định đó trên toàn hệ thống. - Thêm tính năng hỗ trợ trong
ViewCompat
để kiểm tra và thiết lập chế độ cuộn quá mức choView
trên Android 2.3 trở lên. - Các thay đổi đối với Fragment API (API Mảnh):
- Thêm các API mới để kiểm soát chế độ hiển thị của trình đơn mới.
- Thêm API ảnh động tuỳ chỉnh.
- Thêm các API trong
FragmentActivity
để giữ lại dữ liệu thực thể tuỳ chỉnh, không cần cấu hình. - Nhiều bản sửa lỗi.
- Khắc phục lỗi
Loader
gây ra vấn đề huỷAsyncTask
khi chạy trên Froyo và các phiên bản cũ hơn của nền tảng này. Mã hỗ trợ hiện sử dụng phiên bảnAsyncTask
riêng để giữ nguyên hành vi trên tất cả phiên bản nền tảng.
- Thêm
- Các thay đổi đối với thư viện hỗ trợ v4:
-
- Thêm hỗ trợ cho
Fragment.SavedState
- Thêm
MotionEventCompat
để hỗ trợ các APIMotionEvent
mới hơn - Thêm
VelocityTrackerCompat
để hỗ trợ các APIVelocityTracker
mới hơn - Thêm
ViewConfigurationCompat
để hỗ trợ các APIViewConfiguration
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 chế độ phân trang theo chiều ngang, cho phép người dùng vuốt sang trái và sang phải giữa các khung hiển thị nội dung. Các lớp hỗ trợ việc này bao gồm:
ViewPager
: MộtViewGroup
quản lý bố cục cho các thành phần hiển thị con mà người dùng có thể vuốt qua lại.PagerAdapter
: Bộ chuyển đổi sẽ điền sẵnViewPager
bằng các chế độ xem đại diện cho từng trang.FragmentPagerAdapter
: Một phần mở rộng củaPagerAdapter
để lật giữa các mảnh.FragmentStatePagerAdapter
: Một phần mở rộng củaPagerAdapter
để lật giữa các mảnh sử dụng tính năng hỗ trợ của thư viện choFragment.SavedState
.
- Thêm hỗ trợ cho
- Thư viện hỗ trợ phiên bản 13 mới:
-
- Bao gồm
FragmentPagerAdapter
vàFragmentStatePagerAdapter
để hỗ trợ tính năng phân trang theo chiều ngang.Các API này giống hệt như các API được thêm vào thư viện hỗ trợ v4, nhưng 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ả API khác trong thư viện v4 đều có sẵn với API cấp 13).
- Bao gồm
- Các thay đổi đối với thư viện v4:
-
- Hỗ trợ ảnh động mảnh
- Sửa lỗi
Fragment.onActivityResult()
Bản sửa đổi 22
Tháng 3 năm 2015
Bản sửa đổi 21.0.3
Tháng 12 năm 2014
Bản sửa đổi 21.0.2
Tháng 11 năm 2014
Bản sửa đổi 21.0.1
Tháng 11 năm 2014
Bản sửa đổi 21
Tháng 10 năm 2014
Bản sửa đổi 20
Tháng 7 năm 2014
Bản sửa đổi 19.1.0
Tháng 3 năm 2014
Bản sửa đổi 19.0.1
Tháng 12 năm 2013
Bản sửa đổi 19
Tháng 10 năm 2013
Bản sửa đổi 18
Tháng 7 năm 2013
Bản sửa đổi 13
Tháng 5 năm 2013
Bản sửa đổi 12
Tháng 2 năm 2013
Bản sửa đổi 11
Tháng 11 năm 2012
Bản sửa đổi 10
Tháng 8 năm 2012
Bản sửa đổi 9
Tháng 6 năm 2012
Bản sửa đổi 8
Tháng 4 năm 2012
Bản sửa đổi 7
Tháng 3 năm 2012
Bản sửa đổi 6
Tháng 12 năm 2011
Lưu ý: Tài liệu tham khảo cho API thư viện hỗ trợ hiện đã có sẵn cùng với các giá trị tham chiếu khung, ví dụ: android.support.v4.app
.
Bản sửa đổi 5
Tháng 12 năm 2011
Bản sửa đổi 4
Tháng 11 năm 2011
Bản sửa đổi 3
Tháng 7 ngày 2011
Bản sửa đổi 2
Tháng 5 năm 2011
Bản sửa đổi 1
Tháng 3 năm 2011
Bản phát hành đầu tiên với thư viện v4.