Halaman ini menjelaskan rilis paket Support Library versi lama. Untuk rilis Support Library terbaru, lihat Revisi Support Library Terbaru.
Revisi 26.0.0 Beta 2
(Juni 2017)
Perhatikan bahwa 26.0.0-beta2 adalah versi pra-rilis. Tampilan API-nya dapat berubah, dan tidak selalu menyertakan fitur atau perbaikan bug dari Support Library versi stabil terbaru.
Penting: Support library kini tersedia melalui repositori Maven Google. Anda tidak perlu mendownload repositori dukungan dari SDK Manager. Untuk informasi selengkapnya, lihat Penyiapan Support Library.
API baru
- Class
JobIntentService
baru, untuk membantu developer menjadwalkan tugas dengan cara yang sesuai dengan batas eksekusi latar belakang Android O yang baru.
Diffs API
Perbaikan bug
- Penghilangan Android O SDK menyebabkan hilangnya cetak miring di TextView
- Pengecualian pointer null saat terhubung ke MediaBrowserServiceCompat
- TextInputLayout harus menetapkan petunjuk di onProvideAutofillStructure()
- Stack overflow saat menggunakan ukuran otomatis TextView di O
Revisi 26.0.0 Beta 1
(Mei 2017)
Perhatikan bahwa 26.0.0-beta1 adalah versi pra-rilis. Tampilan API-nya dapat berubah, dan tidak selalu menyertakan fitur atau perbaikan bug dari Support Library versi stabil terbaru.
Penting: Support library kini tersedia melalui repositori Maven Google. Anda tidak perlu mendownload repositori dukungan dari SDK Manager. Untuk informasi selengkapnya, lihat Penyiapan Support Library.
Perubahan penting
FragmentActivity.setSupportMediaController()
danFragmentActivity.getSupportMediaController()
telah dihapus. Gunakan metodeMediaControllerCompat.setMediaController()
danMediaControllerCompat.getMediaController()
statis yang baru.BottomNavigationView
sekarang memanggilonNavigationItemReselected()
jika item yang telah dipilih dipilih, bukan memanggilonNavigationItemSelected()
.- Semua instance metode
findViewById()
sekarang menampilkan<T extends View> T
, bukanView
. Perubahan ini memiliki implikasi berikut:- Hal ini dapat menyebabkan kode yang ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya jika ada
someMethod(View)
dansomeMethod(TextView)
yang mengambil hasil panggilan kefindViewById()
. - Penggunaan bahasa sumber Java 8 memerlukan transmisi eksplisit ke
View
jika jenis nilai yang ditampilkan tidak dibatasi (misalnya,assertNotNull(findViewById(...)).someViewMethod())
. - Penggantian metode
findViewById()
yang belum final (misalnyaActivity.findViewById()
) akan memerlukan pembaruan jenis nilai yang ditampilkan.
- Hal ini dapat menyebabkan kode yang ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya jika ada
API baru
-
FragmentManager
danFragment
memiliki metodeisStateSaved()
yang memungkinkan kueri apakah transaksi diizinkan tanpa kehilangan status atau tidak. Hal ini sangat berguna untuk memeriksa saat menangani peristiwaonClick()
sebelum menjalankan transaksi apa pun. - Path motion didukung di
AnimatedVectorDrawableCompat
. Dengan path motion, satu animator objek dapat mengubah dua properti secara bersamaan berdasarkan satu jalur; jalur tersebut ditetapkan sebagaiandroid:pathData
pada XML animator). - Animasi berbasis fisika:
FlingAnimation
baru yang mendukung animasi dengan kecepatan awal dan melambat dengan lancar.- Subclass
DynamicAnimation
mendukung animasi properti kustom untuk objek apa pun. - Baik
SpringAnimation
maupunFlingAnimation
sekarang dapat menganimasikan nilai float tanpa mengharuskan pengaitanView
atauObject
dengannya.
Untuk mengetahui informasi selengkapnya, lihat halaman pratinjau Animasi Spring dan Animasi fling.
-
Dukungan font dalam XML:
-
ResourcesCompat.getFont
memungkinkan pemuatan resource font—termasuk XML jenis font—yang dapat digunakan denganTextView.setTypeface()
. - Saat menggunakan AppCompat, TextView mendukung penentuan resource font atau XML jenis font melalui atribut XML
android:fontFamily
. - Gunakan jenis font XML untuk membuat jenis font dengan variasi gaya dan ketebalan. (Jika Anda menggunakan class support library untuk melakukannya, gunakan
atribut
app:
serta atributandroid:
.)
-
- Font yang dapat didownload:
FontsContractCompat
baru yang memungkinkan Anda meminta font dari penyedia font, bukan memaketkannya dalam aplikasi Anda.- Font juga dapat diminta dalam XML dan digunakan dalam tata letak.
-
Library kompatibilitas
emoji:
-
EmojiCompat
dapat memprosesCharSequence
tertentu dan menambahkanEmojiSpans
. -
EmojiTextView
dan widget lainnya untuk menampilkan emoji. -
FontRequestEmojiCompatConfig
untuk meminta font emoji dari penyedia font.
-
-
Pengubahan Ukuran
Otomatis TextView:
- Metode baru di
TextViewCompat
serta atribut XML untuk mengontrol pengubahan ukuran otomatis diTextView
.
- Metode baru di
- Kontrol pemutaran Leanback dengan dukungan pencarian:
-
PlaybackTransportRowPresenter
baru yang merender kontrol pemutaran dengan SeekBar.PlaybackTransportControlGlue
baru yang berfungsi denganPlaybackTransportRowPresenter
dan mendukung pencarian.- Class dasar baru
PlaybackSeekDataProvider
agar aplikasi menyediakan thumbnail pencarian untukPlaybackTransportControlGlue
.
- Penyimpanan Data Preferensi:
-
PreferenceDataStore
kini memungkinkan Anda mengimplementasikan penyimpanan preferensi Anda sendiri, yang ditetapkan dengan metode baru dalamPreference
danPreferenceManager
.
-
Masalah Umum
- Integrasi kompatibilitas Font dan Emoji yang Dapat Didownload dengan Layanan Google Play hanya berfungsi di Layanan Google Play v11+, yang saat ini tersedia melalui program beta Layanan Google Play.
Perbaikan bug
-
MediaBrowserCompat.search()
API tidak berfungsi (Masalah AOSP 262170) -
ViewCompat.postInvalidateOnAnimation()
menampilkan pengecualian (Masalah AOSP 80146) -
onActivityCreated()
dipanggil untuk fragmen dalam Aktivitas yang telah dihancurkan -
RecyclerView.isComputingLayout()
harus menampilkan true (benar) selama pengambilan data -
Saat transisi
Fade
terhenti dan dibalik,View
akan memulai animasi dari awal. (Perbaikan di-porting dari Android Framework.) -
Transition.Fade
mengabaikan alfa awalView
(Masalah AOSP 221820)
Revisi 26.0.0 Alpha 1
(Maret 2017)
Perhatikan bahwa 26.0.0-alpha1 adalah versi pra-rilis. Tampilan API-nya dapat berubah, dan tidak selalu menyertakan fitur atau perbaikan bug dari Support Library versi stabil terbaru.
Perubahan penting
Catatan: Versi SDK minimum ditingkatkan menjadi 14. Akibatnya, banyak API yang ada hanya untuk kompatibilitas dengan API <14 tidak digunakan lagi. Klien API ini harus bermigrasi ke framework yang setara seperti yang tercantum di halaman referensi untuk setiap API yang tidak digunakan lagi.
- Modul support-percent tidak digunakan lagi. Klien modul ini sebaiknya bermigrasi ke widget ConstraintLayout baru, yang disediakan sebagai artefak terpisah di SDK Manager.
- Modul support-fragment tidak lagi memiliki dependensi pada modul support-media-compat.
API baru
Banyak class, metode, dan konstanta baru ditambahkan untuk memberikan dukungan yang kompatibel dengan versi lama untuk API platform yang ditambahkan di O Preview.
IME_FLAG_NO_PERSONALIZED_LEARNING
: IME dapat memproses flag "no learning" untuk aplikasi yang memiliki mode pribadi, seperti browser. Fitur ini membantu IME memahami apakah aplikasi berada dalam mode pribadi sehingga aplikasi dapat menonaktifkan fungsi pembelajaran atau adaptifnya saat aplikasi berada dalam mode tersebut.
Untuk mengetahui daftar lengkap perubahan API antara 25.2.0 dan 26.0.0-alpha1, lihat laporan perbedaan API support library.
Perbaikan bug
- Dalam beberapa kasus, animasi
AutoTransition
sederhana dapat diganggu oleh tampilan "jumps". (Masalah AOSP 221816)
Revisi 25.4.0
(Juni 2017)
Penting: Support library kini tersedia melalui repositori Maven Google. Anda tidak perlu mendownload repositori dukungan dari SDK Manager. Untuk informasi selengkapnya, lihat Penyiapan Support Library.
Perubahan penting
- Panggilan
executePendingTransactions()
,commitNow()
,popBackStackImmediate()
, dan panggilan transaksi serupa tidak diizinkan selama perubahan statusFragmentManager
. Eksekusi reentrant transaksi tidak aman danFragmentManager
sekarang memberlakukan hal ini selama perubahan statusnya. - Bersamaan dengan rilis support library ini, kami juga merilis
multidex
versi 1.0.2. Versi ini menyertakan perubahan penting berikut:
- Memungkinkan multidexing APK instrumentasi.
- Menghentikan penggunaan MultiDexTestRunner (sebagai gantinya, gunakan AndroidJUnitRunner).
- Memberikan perlindungan yang lebih baik terhadap pengelolaan ekstraksi arsip yang buruk pada aplikasi.
- Memperbaiki bug yang dapat menyebabkan file ditinggalkan sementara.
- Mendukung penginstalan yang lebih cepat saat dilakukan dalam proses serentak.
- Memperbaiki bug penginstalan pada API 19 dan 20.
API Baru dan Modifikasi
Path morphing dan path interpolation didukung di AnimatedVectorDrawableCompat
. Path morphing
memungkinkan perubahan bentuk dari satu jalur (ditetapkan sebagai
android:valueFrom
) ke jalur lain (ditentukan sebagai
android:valueTo
), untuk memberikan efek visual yang kompleks dan
menarik. Interpolasi jalur memungkinkan interpolator untuk AnimatedVectorDrawableCompat
ditentukan
sebagai jalur (ditetapkan sebagai android:pathData
dalam XML
interpolator).
Diffs API
Perbaikan masalah
- Pengecualian pointer null saat terhubung ke MediaBrowserServiceCompat
- MediaBrowserCompat.search() API tidak berfungsi (Masalah AOSP 262170)
- Callback onItemClicked BrowseFragment rusak di 25.3.0
- NullPointerException saat men-scroll ke atas dan ke bawah dalam VerticalGridView di 25.3.1
- ClassCastException di SimpleArrayMap.allocArrays()
Revisi 25.3.1
(Maret 2017)
Perbaikan masalah:
SwitchCompat
memerlukan SDK minimum versi 14 atau lebih tinggi. (Masalah AOSP 251302)- Animasi berbasis prinsip fisika
updateListener
melewati frame pertama. - Animasi label
BottomNavigationView
rusak.
Revisi 25.3.0
(Maret 2017)
Perubahan penting
Metadata versi Support Library akan otomatis ditambahkan ke
AndroidManifest.xml
saat mem-build dari Gradle, sehingga menyederhanakan
pelacakan versi dalam build publik. Contoh:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
Penghentian penggunaan
Sejumlah metode dan class dinyatakan tidak digunakan lagi dalam rilis ini. API yang tidak digunakan lagi ini akan dihapus dalam versi mendatang dan developer harus melakukan migrasi dari API tersebut. Untuk informasi selengkapnya tentang cara bermigrasi dari API tertentu, lihat dokumentasinya.
ExifInterface
- Metode boolean
getLatLong(float[])
tidak digunakan lagi. Sebagai gantinya, gunakan metode barugetLatLong()
, yang tidak mengambil argumen dan menampilkandouble[]
. mediacompat
-
PlaybackStateCompat.Builder.setErrorMessage(CharSequence)
tidak digunakan lagi. Sebagai gantinya, gunakan metode barusetErrorMessage(int, CharSequence)
, yang menerima kode error dan deskripsi opsional. EXTRA_SUGGESTION_KEYWORDS
tidak digunakan lagi. Sebagai gantinya, gunakan fungsionalitas penelusuranMediaBrowserCompat
.v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount()
diganti namanya menjadiLinearLayoutManager.getInitialPrefetchItemCount()
. Nama lama masih didukung tetapi akan dihapus dalam rilis mendatang.
API Baru dan Modifikasi
appcompat-v7
- Metode baru
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)
menyederhanakan penonaktifan animasi ikon tombol navigasi panel navigasi. customtabs
- Menambahkan dukungan untuk saluran pesan. Lihat referensi
CustomTabsService.requestPostMessageChannel()
danCustomTabsService.postMessage()
untuk mengetahui detailnya. dynamic-animation
- Library animasi baru berbasis fisika yang menyediakan sekumpulan API untuk membuat animasi yang secara dinamis bereaksi terhadap input pengguna.
leanback-v17
- Menambahkan dukungan untuk latar belakang paralaks. Lihat referensi
Parallax
untuk mengetahui detailnya. - Menambahkan
widget
TimePicker
untuk memilih waktu di antarmuka TV. mediacompat
- Menambahkan fungsionalitas penelusuran. Lihat referensi
MediaBrowserCompat.search()
danMediaBrowserServiceCompat.onSearch()
untuk mengetahui detailnya. - Menambahkan dukungan untuk mode acak dan ulangi. Lihat referensi
MediaSessionCompat.setRepeatMode()
dansetShuffleModeEnabled()
untuk mengetahui detailnya.
Perbaikan masalah:
StaggeredGridLayoutManager
menampilkanIllegalArgumentException
(Masalah AOSP 230295)- Pengambilan data
RecyclerView
tidak menangani dengan benarRecyclerView
yang dilampirkan tetapi tidak di layar LinearLayout
tidak dikenali oleh Robolectric- Saat
Activity
dimusnahkan,onActivityCreated()
dipanggil secara tidak semestinya untuk fragment-nya - Constructor
AppCompatImageView
menyebabkanArrayIndexOutOfBoundsException
- Performa UI yang buruk pada transisi aktivitas
Call.Details
Revisi 25.2.0
(Februari 2017)
Perubahan Penting
Perbaikan masalah:
- Rilis ini memperbaiki masalah mediarouter yang parah, yang menggunakan perangkat A2DP dan API perutean media dapat menyebabkan perangkat menjadi tidak responsif, sehingga memerlukan mulai ulang.
- Class
FragmentManager.FragmentLifecycleCallbacks
sekarang bersifat statis.
Perbaikan masalah:
- Menampilkan presentasi slide dengan pencerminan layar menyebabkan perangkat terputus dari Wi-Fi
- Tombol media tidak menangani dengan benar aplikasi media yang tidak terdaftar ke
setMediaButtonReceiver()
-
Error
VectorDrawable
dengan resource string (Masalah AOSP 232407) TextInputLayout
menempatkan petunjuk dan teks jika teks ditetapkan oleh XML (Masalah AOSP 230171)- Kebocoran memori di
MediaControllerCompat
(Masalah AOSP 231441) -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
mengalami error RecyclerView
mengalami error saat mendaur ulang holder tampilan (Masalah AOSP 225762)getAllowGeneratedReplies()
salah menampilkan nilai salah untuk tindakan di dalamWearableExtender
Revisi 25.1.1
(Januari 2017)
Penting: Terdapat bug yang diketahui di class android.support.v7.media.MediaRouter
Support Library revisi 25.1.1 dan 25.1.0. Jika aplikasi Anda menggunakan MediaRouter
v7, Anda harus melakukan update ke Support Library Revisi 25.2.0, yang memperbaiki bug ini.
Perubahan Penting
-
Transaksi fragmen kini dapat dioptimalkan di dalam dan di seluruh transaksi. Mengoptimalkan operasi transaksi fragmen dapat menghilangkan operasi yang melakukan pembatalan. Misalnya, dua transaksi dijalankan bersamaan, transaksi pertama menambahkan fragmen A dan transaksi kedua mengganti fragmen A dengan fragmen B. Dalam hal ini, operasi pertama mungkin dibatalkan, dan hanya fragment B yang ditambahkan. Artinya fragmen A mungkin tidak melalui siklus proses pembuatan/pemusnahan.
Efek samping dari pengoptimalan ini adalah fragmen mungkin mengalami perubahan status di luar urutan yang diharapkan. Contohnya, satu transaksi menambahkan fragmen A, transaksi kedua menambahkan fragmen B, lalu transaksi ketiga menghapus fragmen A. Tanpa pengoptimalan, fragment B dapat memperkirakan bahwa selagi fragmen B sedang dibuat, fragmen A juga akan ada karena fragmen A akan dihapus setelah fragmen B ditambahkan. Dengan pengoptimalan, fragment B tidak dapat memastikan bahwa fragment A akan ada saat B sedang dibuat, karena pembuatan dan pemusnahan fragment A dapat dihapus melalui pengoptimalan.
Pengoptimalan ini dinonaktifkan secara default. Untuk mengaktifkan pengoptimalan, panggil
FragmentTransaction.setAllowOptimization(true)
. - Fragment kini dapat menunda transisi dan animasinya hingga siap menggunakan
Fragment.postponeEnterTransition()
danFragment.startPostponedEnterTransition()
. API ini mirip denganActivity.postponeEnterTransition()
danActivity.startPostponedEnterTransition()
yang digunakan dengan Transisi Aktivitas.
Perbaikan masalah:
-
MediaSessionCompatTest
gagal denganIllegalArgumentException
-
DetailsFragment.installTitleView()
tidak dipanggil di 25.1.0 - Transaksi fragmen mempertahankan tampilan ghost saat keluar (Masalah AOSP 230679)
-
BottomNavigationView
memerlukan spasi antara ikon dan teks item (Masalah AOSP 230653) - Pemroses yang dipilih tidak ada di
PlaybackFragment
danPlaybackSupportFragment
yang baru -
Fokus
TextInputLayout
tidak berubah dengan tepat di emulator dari support library versi 25.1.0 (Masalah AOSP 230461) - Tidak dapat mengganti menu
BottomNavigationView
(Masalah AOSP 230343) -
RecyclerView
denganStaggeredGridLayoutManager
mengalami error pada item rentang penuh (Masalah AOSP 230295) - Error di
MediaSessionCompat
saat menggunakansetCallback(null)
-
PlaybackGlueHostOld
danPlaybackSupportGlueHostOld
tidak memberi tahu callback jika baris pemutaran berubah -
Contoh
PlaybackOverlayFragment
/test
tidak dapat mulai diputar -
RecyclerViewFocusRecoveryTest
gagal pada API 15 - Baris "Screenshots" difokuskan ke bagian atas layar
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
mengalami error pada API 15 -
setActions()
dionSubactionClicked()
rusak -
RecyclerView
mengalami error saat mendaur ulang beberapa penampung tampilan
Revisi 25.1.0
(Desember 2016)
Penting: Terdapat bug yang diketahui di class android.support.v7.media.MediaRouter
Support Library revisi 25.1.1 dan 25.1.0. Jika aplikasi Anda menggunakan MediaRouter
v7, Anda harus melakukan update ke Support Library Revisi 25.2.0, yang memperbaiki bug ini.
Perubahan Penting
- Klien widget
RecyclerView
bertingkat (misalnya, daftar scroll vertikal dari daftar scroll horizontal) bisa mendapatkan manfaat performa yang signifikan dengan memberi petunjuk kepada pengelola tata letak widgetRecyclerView
bagian dalam tentang berapa banyak item yang harus disiapkan sebelum di-scroll di layar. PanggilLinearLayoutManager.setInitialPrefetchItemCount(N)
, dengan N adalah jumlah tampilan yang terlihat per item dalam. Misalnya, jika daftar horizontal bagian dalam menampilkan minimal tiga setengah tampilan item sekaligus, Anda dapat meningkatkan performa dengan memanggilLinearLayoutManager.setInitialPrefetchItemCount(4)
. Dengan melakukannya,RecyclerView
dapat membuat semua tampilan yang relevan lebih awal, saatRecyclerView
luar di-scroll, yang akan mengurangi ketersendatan selama scroll secara signifikan. FragmentActivity.setSupportMediaController()
danFragmentActivity.getSupportMediaController()
tidak digunakan lagi. Harap gunakan metodeMediaControllerCompat.setMediaController()
danMediaControllerCompat.getMediaController()
statis yang baru.- Saat klien menentukan tint widget melalui penambahan tint appcompat (misalnya,
appcompat:buttonTint
), klien bertanggung jawab untuk menyediakan semua status yang diperlukan (seperti "disabled", " Informasid", dll.). Hal ini konsisten dengan cara penentuan tint widget saat menggunakan penambahan tint framework.
API Baru dan Modifikasi
- Menambahkan support library ExifInterface. Library ini mengurai paket dukungan untuk membaca informasi Exif dari file berformat JPEG dan raw, serta menetapkan informasi Exif pada file gambar JPEG.
Snackbar
telah difaktorkan ulang untuk memungkinkan aplikasi menampilkan konten kustom.BaseTransientBottomBar
adalah class dasar baru yang mengekspos perilaku geser dan animasi umum.- Menambahkan paket androidx.media baru yang berisi class helper untuk mengintegrasikan pemutar media ke dalam aplikasi Android TV.
- Menambahkan
SeekBarPreference
dengan tata letak dan atribut yang dapat disesuaikan ke support library preferensi v7. - Menambahkan class
ArraySet
ke support library v4. Class ini berkaitan dengan classArraySet
framework yang diperkenalkan dengan API level 23. RecyclerView
Peningkatan pengambilan data item RecyclerView:- Pengambilan data
RecyclerView
bertingkat memungkinkan pengambilan data konten dariRecyclerView
dalamRecyclerView
scroll lainnya, dengan API untuk mengontrol jumlah pengambilan data yang dilakukan: - API ditambahkan untuk diimplementasikan objek
LayoutManager
kustom guna mengaktifkan pengambilan data selama scroll dan fling - Peningkatan pada pengambilan data agar hanya melakukan tugas pembuatan/pengikatan sebanyak mungkin dalam waktu antar-frame
- Pengambilan data
Perbaikan masalah:
- Peralihan visibilitas sandi menggagalkan uji aksesibilitas.
- Appcompat tidak mematuhi
state_enabled
di perangkat sebelum Android L. - Menambahkan mekanisme pemulihan fokus ke
RecyclerView
. Hal ini juga memperbaiki kerusakan fokus pada fragmen pref support saat menggunakan navigasi DPAD seperti di perangkat Android TV. - Leanback: BrowseFragment mengalami error jika header dinonaktifkan dan adaptor kosong.
- Appcompat:
AlertDialog
terlalu lebar. InputContentInfoCompat
memanggilrequestPermission()
saat seharusnya memanggilreleasePermission()
.MediaBrowserCompat
mengalami error.- CoordinatorLayout mengukur/mengatur tata letak tampilan saat visibilitas ditetapkan ke
GONE
. - Tidak dapat menambahkan tint
AnimatedVectorDrawableCompat
pada level API di bawah 24 - Library Leanback memicu error lint palsu
- Library palet menyebabkan kegagalan uji pada setiap API level
RecyclerView
gagal dalam pengujian di LeanbackRecyclerView
mengalami error saat mendaur ulang holder tampilan (Masalah AOSP 225762)Fragment.onDestroy()
tidak dipanggil untuk fragmen di data sebelumnya- Scrim
CollapsingToolbarLayout
tidak digambar saat diciutkan CoordinatorLayout.offsetChildByInset()
menampilkanIllegalArgumentException
- Item
RecyclerView
animasi melepaskanRecyclerView
bagian dalam, mencegah pengambilan data di masa mendatang - Item
RecyclerView
yang ditambahkan tidak dapat diambil data bertingkat - Data pengambilan data untuk item
RecyclerView
bertingkat dihapus selama tata letak pertama - Pengambilan data
RecyclerView
gagal jika dua peristiwa tarik tiba di posisi yang sama RecyclerView
harus mengatur tata letak secara spekulatif saat RenderThread dirender- Resource warna yang dikonfigurasi malam yang dikonversi ke Drawable tidak selalu dihapus dengan benar dari cache Resource
FloatingActionButton
: Setelan terprogram BackgroundTintList tidak berfungsi dengan baik (Masalah AOSP 227428)TextInputLayout
: Typeface tidak disiapkan untuk ErrorView (Masalah AOSP 227803)TextInputLayout
selalu melakukan fallback ke warna error terang di bawah API 23 (Masalah AOSP 221992)FloatingActionButton
ditampilkan sebagai ditekan saat pointer keluar
Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.
Penghentian penggunaan
Sejumlah metode dan class dinyatakan tidak digunakan lagi dalam rilis ini. API yang tidak digunakan lagi ini akan dihapus dalam versi mendatang dan developer harus bermigrasi dari API tersebut. Untuk informasi selengkapnya tentang cara meninggalkan API tertentu, lihat dokumentasinya.
-
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()
Revisi 25.0.1
(November 2016)
Perbaikan masalah:
- Tombol sandi
TextInputLayout
kini dinonaktifkan secara default agar tidak menimpa drawable akhir yang ditentukan developer. Ini dapat diaktifkan secara manual melalui atribut XMLpasswordToggleEnabled
. - Item
BottomNavigationView
sekarang berupa baris tunggal agar cocok dengan spesifikasi Material. RecyclerView
mengalami error selama pengambilan data jika pengelola tata letak bernilai null.- Elevasi
BottomNavigationView
sekarang disetel dengan benar. (Masalah AOSP 226182) BottomNavigationView
mengalami error saat menambahkan item menu secara terprogram. (Masalah AOSP 225731)- Perbaikan pada compound drawable kiri+kanan
TextInputLayout
. (Masalah AOSP 225836) RecyclerView
mengalami error saat mendaur ulang penampung tampilan. (Masalah AOSP 225762)- Leanback: TalkBack sering mengucapkan kata "null" dalam tampilan layar terpisah.
RecyclerView
: Masalah rendering di Android Studio. (Masalah AOSP 225753)BottomNavigationView
masih menampilkan item menu sebagai yang dipilih setelahonNavigationItemSelected()
menampilkan nilai salah (false). (Masalah AOSP 225898)- ForwardingListener memunculkan
NoSuchMethodError
. (Masalah AOSP 225647) TextInputEditText
tidak menampilkan petunjuk dalam mode ekstrak IME. (Masalah AOSP 221880)
Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.
Revisi 25.0.0
(Oktober 2016)
Perubahan penting
- Konstruktor
ContextCompat
dibuat dilindungi. Class ini tidak boleh dibuat instance-nya secara publik, tetapi dapat diperluas dengan support library yang menargetkan API level yang lebih baru. - Konstruktor
ActivityCompat
dibuat dilindungi. Class ini tidak boleh dibuat instance-nya secara publik, tetapi dapat diperluas dengan support library yang menargetkan API level yang lebih baru. getReferrer(Activity)
telah dibuat statis.-
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)
telah dihapus. Semua implementasi klien dari metode ini harus dihapus. -
android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)
telah dihapus. Penggunaannya harus diganti dengan metodefromMediaSession()
yang penamaannya lebih tepat. -
android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)
telah dihapus. Penggunaannya harus diganti dengan metodeMediaSessionCompat.QueueItem#fromQueueItem
yang penamaannya lebih tepat. -
android.support.v7.widget.Space
telah dihapus. Penggunaan harus diganti denganandroid.support.v4.widget.Space
.
API baru
-
Class
android.support.design.widget.BottomNavigationView
menerapkan pola navigasi bawah dari spesifikasi Desain Material. - Paket
android.support.v13.view.inputmethod
baru menyertakan class untuk mengakses fiturandroid.view.inputmethod.InputConnection
yang diperkenalkan setelah API level 13. -
Class
android.v7.widget.RecyclerView.DividerItemDecoration
menyediakan implementasi dasar untuk pembagi vertikal atau horizontal di antara item. - Gaya dekorasi baru dalam
android.support.v7.app.NotificationCompat
,DecoratedCustomViewStyle
, danDecoratedMediaCustomViewStyle
, class mirror yang ditambahkan di platform API 24.
Perbaikan masalah:
Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.
Revisi 24.2.1
September 2016
Perbaikan masalah:
FloatingActionButton
tidak dapat lagi ditambatkan ke turunan tidak langsungCoordinatorLayout
. (Masalah AOSP 220250)- Gambar di dalam
CollapsingToolbarLayout
tidak diskalakan dengan benar menggunakanfitsSystemWindows=true
. (Masalah AOSP 220389) CoordinatorLayout
memunculkanIndexOutOfBoundsException
saatSnackbar
ditampilkan dan ditutup. (Masalah AOSP 220762)TextInputLayout
gagal me-resolve warna teks error. (Masalah AOSP 220305)BatchedCallback.onMoved()
memanggilBatchedCallback.onInserted()
. (Masalah AOSP 220309)TextInputLayout
menggantikan compound drawable yang benar. (Masalah AOSP 220728)
Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.
Revisi 24.2.0
Agustus 2016
Rilis 24.2.0 berisi perubahan berikut:
Catatan: Rilis 24.2.0 menghapus dukungan untuk Android 2.2 (API level 8) dan yang lebih rendah. Class dan metode yang ada hanya untuk menyalurkan versi sistem tersebut kini ditandai sebagai tidak digunakan lagi dan sebaiknya tidak digunakan lagi. Class dan metode yang tidak digunakan lagi ini dapat dihapus dalam rilis mendatang.
Pemecahan Support Library v4
Dengan rilis ini, Support Library v4 telah dibagi menjadi beberapa modul yang lebih kecil:
-
support-compat
-
Menyediakan wrapper kompatibilitas untuk API framework baru, seperti
Context.getDrawable()
danView.performAccessibilityAction()
. -
support-core-utils
-
Menyediakan sejumlah class utilitas, seperti
AsyncTaskLoader
danPermissionChecker
. -
support-core-ui
-
Mengimplementasikan berbagai komponen terkait UI, seperti
ViewPager
,NestedScrollView
, danExploreByTouchHelper
. -
support-media-compat
-
Mem-backport bagian framework media, termasuk
MediaBrowser
danMediaSession
. -
support-fragment
-
Mem-backport framework
fragmen. Modul ini memiliki dependensi pada
support-compat
,support-core-utils
,support-core-ui
, dansupport-media-compat
.
Untuk kompatibilitas mundur, jika Anda mencantumkan support-v4
dalam
skrip Gradle, APK Anda akan menyertakan semua modul ini. Namun, untuk mengurangi
ukuran APK, sebaiknya hanya cantumkan modul spesifik yang dibutuhkan aplikasi Anda.
Update API
- Klien yang menggunakan Custom Tabs dapat mengontrol apakah Aplikasi Instan dibuka atau tidak. (Perhatikan bahwa Aplikasi Instan belum tersedia secara umum.) Untuk mengaktifkan atau menonaktifkan Aplikasi Instan, panggil
CustomTabsIntent.Builder.setInstantAppsEnabled()
atau tentukanEXTRA_ENABLE_INSTANT_APPS
. Secara default, Custom Tabs secara default akan mengaktifkan Aplikasi Instan, saat fitur tersebut tersedia. TextInputLayout
menambahkan dukungan untuk tombol visibilitas sandi dari spesifikasi desain material.- Paket
android.support.transition
baru mem-backport framework Transitions ke API level 14 dan yang lebih tinggi. Untuk informasi selengkapnya, lihat referensiandroid.support.transition
. - Support library Custom Tabs menambahkan dukungan untuk penggunaan
RemoteViews
di toolbar sekunder. MetodesetToolbarItem()
yang ada kini tidak digunakan lagi. AppCompatResources
menambahkan kemampuan untuk memuat<vector>
(pada API level 9 dan yang lebih tinggi) atau<animated-vector>
(pada API level 11 dan yang lebih tinggi) dari ID resource, dengan menggunakan metodegetDrawable()
baru.CoordinatorLayout
kini mendukung penentuan tampilan inset, dan menentukan bahwa tampilan lain harus menghindari tampilan inset. Hal ini memungkinkan aplikasi untuk mereplikasi pola perilaku yang mirip dengan caraFloatingActionButton
beralih dariSnackbar
, tetapi untuk turunan tampilan arbitrer mana pun. Untuk informasi selengkapnya, lihat dokumentasi referensiLayoutParams.insetEdge
danLayoutParams.dodgeInsetEdges
.- Class
DiffUtil
yang baru dapat menghitung perbedaan antara dua koleksi, dan dapat mengirim daftar operasi yang telah diperbarui yang sesuai untuk digunakan olehRecyclerView.Adapter
. -
RecyclerView.OnFlingListener
telah ditambahkan untuk mendukung perilaku kustom sebagai respons terhadap fling. ClassSnapHelper
menyediakan implementasi khusus untuk mengikat tampilan turunan, dan classLinearSnapHelper
memperluas implementasi ini untuk menyediakan perilaku pengepasan rata tengah yang mirip denganViewPager
. - Library Custom Tabs kini memungkinkan klien untuk meminta UI browser standar, bukan UI tab khusus, dengan memanggil
CustomTabsIntent.setAlwaysUseBrowserUI()
. Perilaku ini berguna jika browser ditetapkan secara default ke UI tab khusus, tetapi pengguna telah menyatakan preferensi untuk UI browser standar.
Perubahan perilaku
- Jika Anda menggunakan fungsionalitas siang/malam library appcompat, sekarang sistem akan otomatis membuat ulang aktivitas Anda setiap kali mode siang/malam berubah (baik karena waktu atau karena panggilan ke
AppCompatDelegate.setLocalNightMode()
). Snackbar
kini menggambar di belakang menu navigasi jika status bar transparan.
Library MediaRouter
Perangkat Bluetooth tidak lagi tercantum sebagai rute media. Pemilihan rute audio ke perangkat Bluetooth kini sepenuhnya dikontrol pada tingkat sistem Android.
Penghentian penggunaan
Class dan metode yang tidak digunakan lagi dapat dihapus pada rilis mendatang. Sebaiknya Anda meninggalkan API ini sesegera mungkin.
- Beberapa metode di class berikut hanya diperlukan untuk API 8 dan
yang lebih lama, dan sebaiknya tidak digunakan lagi. Sebagai gantinya, gunakan implementasi
framework.
android.support.v4.view.KeyEventCompat
: Ganti denganKeyEvent
android.support.v4.view.MotionEventCompat
: GunakanMotionEvent
android.support.v4.view.ViewCompat
: GunakanView
android.support.v4.view.ViewConfigurationCompat
: GunakanViewConfiguration
-
AccessibilityServiceInfoCompat.getDescription()
tidak digunakan lagi dan digantikan denganAccessibilityServiceInfoCompat.loadDescription()
, yang menampilkan deskripsi yang dilokalkan dengan benar. - Sebaiknya Anda tidak membuat instance class
ActivityCompat
secara langsung. MetodegetReferrer(Activity)
non-statis akan dijadikan statis dalam rilis mendatang. CoordinatorLayout.Behavior.isDirty()
tidak digunakan lagi dan tidak lagi dipanggil olehCoordinatorLayout
. Semua implementasi, dan juga panggilan ke metode ini, harus dihapus.MediaSessionCompat.obtain()
tidak digunakan lagi dan diganti dengan metodefromMediaSession()
yang penamaannya lebih tepat.MediaSessionCompat.QueueItem.obtain()
tidak digunakan lagi dan diganti dengan metodefromQueueItem()
yang penamaannya lebih tepat.- Beberapa class abstrak tidak digunakan lagi dan diganti dengan antarmuka yang mencerminkan ekuivalensi framework-nya secara lebih akurat.
AccessibilityStateChangeListenerCompat
diganti dengan antarmukaAccessibilityManagerCompat.AccessibilityStateChangeListener
.OnCloseListenerCompat
diganti dengan antarmukaSearchViewCompat.OnCloseListener
.OnQueryTextListenerCompat
diganti dengan antarmukaSearchViewCompat.OnQueryTextListener
.
CustomTabsSession.setToolbarItem()
tidak digunakan lagi dan diganti dengansetSecondaryToolbarViews()
berbasis RemoteViews.
Perbaikan bug
Masalah umum berikut telah diperbaiki melalui rilis 24.2.0:
- Memastikan indikator
SwipeRefreshLayout
ditampilkan saatsetRefreshing(true)
dipanggil sebelum pengukuran pertama diteruskan (Masalah AOSP 77712) - Mencegah
TabLayout
berkedip saat berganti halaman (Masalah AOSP 180454) - Menghindari
ClassNotFoundException
saat membatalkan marshallingSavedState
di API level 11 dan yang lebih rendah (Masalah AOSP 196430)
Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.
Revisi 24.1.1
Juli 2016
Perbaikan masalah:
- Memperbaiki masalah dalam rilis 24.1.0 yang memengaruhi ID resource yang dibagikan antar-library dukungan. Masalah ini menyebabkan aplikasi yang bergantung pada support library dengan resource (seperti design dan appcompat) mengalami masalah yang disebabkan oleh ketidakcocokan ID resource.
Revisi 24.1.0
Juli 2016
- Perubahan untuk Support Library v4:
-
NotificationCompat.Action.WearableExtender
memiliki metodegetHintDisplayActionInline()
dansetHintDisplayActionInline()
baru untuk kompatibilitas dengan Pratinjau Android Wear 2.0. Metode ini memungkinkan aplikasi menentukan bahwa suatu tindakan harus ditampilkan inline dengan notifikasinya.- Memanggil
Fragment.setUserVisbileHint()
tidak lagi menyebabkan fragmen dimulai jika petunjuk telah ditambahkan keFragmentTransaction
yang belum di-commit. Hal ini memengaruhi penggunaFragmentPagerAdapter
yang menggantisetUserVisbileHint()
dan mengasumsikan status siklus proses tertentu dari fragmen setelah memanggilsuper.setUserVisibleHint()
. Untuk informasi selengkapnya, lihat halaman referensi untuk dokumenFragment.setUserVisbileHint()
.
Perbaikan masalah:
- TabLayout.setCustomView(null) menghasilkan NullPointerException (Masalah AOSP 214753)
- TabLayout salah menandai tab khusus (Masalah AOSP 214316)
- AppCompatTextHelper menggunakan array atribut yang diurutkan dengan tidak benar (Masalah AOSP 214366)
- Tidak dapat mereferensikan VectorDrawable dari XML container drawable saat menggunakan ContextWrapper kustom (Masalah AOSP 214055)
- ViewDragHelper.saveLastMotion() memunculkan ArrayIndexOutOfBoundsException (Masalah AOSP 212945)
- BottomSheetBehavior meluas ke tinggi konten lama saat menggunakan setState(STATE_EXPANDED) (Masalah AOSP 213660)
- CollapsingToolbarLayout tidak menangani turunan yang dapat di-pin dengan margin atas atau bawah (Masalah AOSP 213001)
- Judul penjelajahan Leanback tidak mendukung penyelarasan RTL (Masalah AOSP 213461)
- PagerTabStrip menghilang karena anotasi yang diwarisi tidak ada (Masalah AOSP 213359)
- Data binding menampilkan NullPointerException saat menggunakan Boolean untuk menetapkan flag kondisional (Masalah AOSP 191841)
- CoordinatorLayout tidak merespons setFitsSystemWindows() (Masalah AOSP 212720)
- BottomSheetBehavior mengalami error saat menetapkan status awal (Masalah AOSP 203114)
- ViewPager melewati halaman jika indeks halaman bernilai besar (Masalah AOSP 211734)
- BottomSheetBehavior tidak berfungsi dengan tata letak dinamis (Masalah AOSP 205226)
Revisi 24.0.0
Juni 2016
- Perubahan untuk Support Library v4:
-
- Menambahkan
Fragment.commitNow()
untuk commit sinkron - Menambahkan
NotificationCompat.MessagingStyle
untuk percakapan multi-peserta - Menambahkan
NotificationManagerCompat.areNotificationsEnabled()
dangetImportance()
MediaSessionCompat
sekarang mencerminkan fungsiMediaSession
dan tidak lagi memanggilsetMediaButtonReceiver()
secara otomatis
Catatan: Hanya
MediaBrowserServiceCompat
dalam versi 24.0.0 yang kompatibel dengan versi Android mendatang di atas API 24. Jika Anda menggunakan versi sebelumnya, update ke versi ini untuk memastikan kompatibilitas. - Menambahkan
- Perubahan untuk library appcompat v7:
-
- Menambahkan dukungan untuk mereferensikan objek
ColorStateList
bertema dari XML
- Menambahkan dukungan untuk mereferensikan objek
- Perubahan untuk Support Library Design:
-
- Peningkatan untuk
AppBarLayout
yang menangani elevasi menggunakanStateListAnimator
- Peningkatan untuk
- Perubahan untuk library Leanback v17:
-
- Menambahkan
OnboardingFragment
untuk memberikan alur sambutan dan penyiapan peluncuran pertama
- Menambahkan
- Perubahan untuk tab khusus:
-
- Menambahkan dukungan untuk memberikan hierarki
RemoteViews
untuk toolbar sekunder - Menambahkan
CustomTabsClient.connectAndInitialize()
untuk pemanasan satu baris
- Menambahkan dukungan untuk memberikan hierarki
Revisi 23.4.0
Mei 2016
- Perubahan untuk Support Library v4:
-
- Memperbaiki masalah di mana fragment ditambahkan dalam urutan yang salah. (Masalah 206901)
- Memperbaiki masalah saat panel aplikasi tidak digambar setelah di-scroll keluar layar. (Masalah 178037)
- Perubahan untuk library appcompat v7:
-
- Menambahkan metode
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
untuk mengaktifkan kembali penggunaan vektor drawable pada objekDrawableContainer
pada perangkat yang menjalankan Android 4.4 (API level 19) dan yang lebih rendah. Lihat AppCompat v23.2 — Usia vektor untuk informasi selengkapnya. - Memperbaiki masalah di API 23 terkait
AppCompatDelegate.setDefaultNightMode()
yang tidak memuat resource yang benar di API level 23. (Masalah 206573) - Memperbaiki masalah yang dapat menyebabkan
NullPointerException
. (Masalah 207638)
- Menambahkan metode
- Perubahan untuk Support Library Design:
-
- Memperbaiki masalah saat
TextInputLayout
tidak menghapus tint error setelahsetErrorEnabled(false)
pada API level 21 - 22 (Masalah 202829) - Memperbaiki masalah di mana
FloatingActionButton
tidak ditampilkan saat animasi dinonaktifkan. (Masalah 206416) - Memperbaiki masalah dalam fungsionalitas snap
AppBarLayout
saat digunakan dengan flag scroll
. (Masalah 207398)scroll
|enterAlways
|enterAlwaysCollapsed
|snap
- Memperbaiki masalah saat
- Perubahan untuk library Vector Drawable:
-
- Memperbaiki bug yang menyebabkan
VectorDrawableCompat
tidak dirender dengan benar diTextView
pada API level 23. (Masalah 206227)
- Memperbaiki bug yang menyebabkan
Revisi 23.3.0
April 2016
- Perubahan untuk Support Library v4:
-
- Menambahkan
AppLaunchChecker
untuk membantu melacak bagaimana aplikasi Anda sebelumnya diluncurkan oleh pengguna.hasStartedFromLauncher()
memberi tahu Anda apakah pengguna telah meluncurkan aplikasi Anda dari layar utama sebelumnya, atau apakah aplikasi hanya dimulai dengan cara lain (misalnya, untuk melihat URL web tertentu). - Memperbaiki kebocoran memori dalam
MediaBrowserServiceCompat.mConnections
. (Masalah 205220) - Memperbaiki masalah saat
ViewPager
tidak memperhitungkan margin halaman saat membalik halaman. (Masalah 203816) Fragment.onRequestPermissionsResult()
sekarang dikirim ke fragmen turunan.
- Menambahkan
- Perubahan untuk library appcompat v7:
-
- Memperbaiki masalah di
AppCompatSpinner
yang dapat menyebabkan munculnya beberapa pop-up. (Masalah 205052) - Memperbaiki masalah tentang pewarnaan tombol tanpa bingkai. (Masalah 202967)
- Memperbaiki masalah kompatibilitas antara
AppCompatDialogFragment
danAlertDialog
. (Masalah 204805) - Mengembalikan perubahan ke
TintResources
yang menyebabkan masalah memori dan konfigurasi. (Masalah 205236)
- Memperbaiki masalah di
- Perubahan untuk library mediarouter v7:
-
- Memperbaiki perilaku penggeser volume
MediaRouteControllerDialog
. (Masalah 202299)
- Memperbaiki perilaku penggeser volume
- Perubahan untuk library Preference v7:
-
- Memperbaiki masalah yang menyebabkan
PreferenceFragmentCompat
mengalami error jikadividerHeight
ditentukan. (Masalah 204778)
- Memperbaiki masalah yang menyebabkan
- Perubahan untuk library recyclerview v7:
-
- Memperbaiki bug yang menyebabkan
RecyclerView
tidak memanggil callback scroll jika rentang item yang terlihat menyusut. (Masalah 200987) - Memperbaiki bug yang menyebabkan
RecyclerView
dibekukan jika berada di tata letak linear, diberi bobot, dan berisi gambar. (Masalah 203276) - Memperbaiki error di
OrientationHelper.getStartAfterPadding()
. (Masalah 180521) - Memperbaiki error terkait penggunaan
android:nestedScrollingEnabled
. (Masalah 197932)
- Memperbaiki bug yang menyebabkan
- Perubahan untuk Support Library Design:
-
- Memperbaiki bug ketika sheet bawah tersembunyi akan menangani peristiwa sentuh. (Masalah 203654)
- Memperbaiki masalah tata letak terkait
BottomSheetBehavior
saatfitsSystemWindows
bernilai benar (true). (Masalah 203057) - Memperbaiki masalah aksesibilitas pada
Snackbar
. (Masalah 182145) - Memperbaiki error pada geser
Snackbar
. (Masalah 203924) - Memperbaiki bug dalam
AppBarLayout
denganenterAlways
. (Masalah 203661) - Memperbaiki bug saat
TextInputLayout
menghapus filter warna latar belakang objekEditText
secara tidak perlu. (Masalah 203357)
Revisi 23.2.1
Maret 2016
- Perubahan untuk Support Library v4:
-
- Perbaikan pengecualian dalam
DrawableCompat.wrap()
danLayerDrawable
pada API level 17 hingga 19. (Masalah 201817) - Memperbaiki
ArrayIndexOutOfBoundsException
diViewDragHelper.shouldInterceptTouchEvent()
. (Masalah 182262) - Memperbaiki bug
ViewPager
terkait penghitungan scroll untuk perubahan ukuran. - Memperbaiki
NullPointerException
saatDrawerLayout.removeDrawerListener()
dipanggil tanpaDrawerLayout.DrawerListener
yang ditetapkan. (Masalah 202478) - Memperbaiki bug yang menyebabkan
ViewPager
tidak menetapkan parameterAccessibilityEvent
dengan benar saat men-scroll. - Memperbaiki masalah yang menyebabkan keterlambatan selama rotasi perangkat saat menggunakan
Drawable.wrap()
. (Masalah 201924)
- Perbaikan pengecualian dalam
- Perubahan untuk library appcompat v7:
-
- Mengembalikan dependensi pada aset vektor sehingga developer yang menggunakan library appcompat tidak dipaksa menggunakan
VectorDrawable
dan flag build terkaitnya. - Memperbaiki masalah kompatibilitas terkait Mode Malam dan API level 23. (Masalah 201910)
- Memperbaiki masalah kompatibilitas terkait
SwitchCompat
dan API level 7. (Masalah 201942) - Memperbaiki masalah penyebaran nilai konfigurasi di objek Resources Masalah 201928
- Memperbaiki masalah kompatibilitas saat tombol batal
android.support.v7.app.NotificationCompat.MediaStyle
menjadi tidak terlihat di API level 21 dan yang lebih lama. (Masalah 202156) - Memperbaiki error kompatibilitas terkait
AppCompatSpinner
di API level 21 dan yang lebih lama. (Masalah 202246) - Memperbaiki masalah saat gaya
app:textAllCaps = "false"
tidak berfungsi. (Masalah 202117) - Memperbaiki error saat memulihkan
SearchView
. (Masalah 201836) - Memperbaiki kebocoran memori yang terjadi saat menambahkan tint resource drawable menggunakan AppCompat. (Masalah 202379)
- Memperbaiki masalah
KeyEvent
pada API level 11 dan yang lebih lama. (Masalah 202939)
- Mengembalikan dependensi pada aset vektor sehingga developer yang menggunakan library appcompat tidak dipaksa menggunakan
- Perubahan untuk library cardview v7:
-
- Menambahkan dukungan Mode Malam untuk
CardView
. (Masalah 194497)
- Menambahkan dukungan Mode Malam untuk
- Perubahan untuk library recyclerview v7:
-
- Memperbaiki bug yang terkait dengan berbagai metode spesifikasi pengukuran. (Masalah 201856)
- Mengurangi periode kunci total di mana
RecyclerView
tidak mengizinkan perubahan adaptor saat menghitung tata letak atau scroll. (Masalah 202046) - Memperbaiki error saat memanggil
notifyItemChanged()
pada item yang tidak terlihat. (Masalah 202136) - Memperbaiki error yang terjadi saat
RecyclerView.LayoutManager
menambahkan dan menghapus tampilan dalam tahap pengukuran yang sama. (Masalah 193958)
- Perubahan untuk library mediarouter v7:
-
- Memperbaiki error yang terjadi saat memanggil
MediaRouter.getInstance()
di API level 17. (Masalah 180654)
- Memperbaiki error yang terjadi saat memanggil
- Perubahan untuk Library Leanback v17:
-
- Memperbaiki masalah
GridLayout.onAddFocusables()
yang menyebabkan dipilihnya item yang salah. - Memperbaiki masalah terkait tindakan
GuidedStepFragment
yang menghilang setelah tindakan diciutkan.
- Memperbaiki masalah
- Perubahan untuk Support Library Design:
-
- Memperbaiki error
TabLayout
yang disebabkan oleh pengumpulan tab. (Masalah 201827) - Memperbaiki bug dalam
NavigationView
yang menyebabkan pemilihan warna yang salah. (Masalah 201951) - Memperbaiki bug yang menyebabkan
setBackgroundTintList()
tidak lagi dapat mengubah warna latar belakang. (Masalah 201873) - Memperbaiki masalah saat
AppBarLayout
tidak sepenuhnya di-scroll keluar tampilan saat digunakan denganandroid:fitsSystemWindows = “true”
. (Masalah 201822) - Memperbaiki masalah saat
BottomSheetDialog
tidak menampilkan tampilan konten singkat dengan benar. (Masalah 201793) - Memperbaiki masalah yang menyebabkan
BottomSheetDialogFragment
bergerak sporadis saat konten di dalamnya diubah. (Masalah 202125) - Memperbaiki error di link penghitung TextInputLayout
- Memperbaiki error yang terjadi saat
TextInputLayout.getCounterMaxLength()
memulihkan status yang tersimpan. (Masalah 202375) - Memperbaiki
ClassCastException
yang terjadi saat memulihkanCoordinatorLayout
menggunakan status tersimpan dari tampilan yang bukan merupakanCoordinatorLayout
.
- Memperbaiki error
- Perubahan untuk VectorDrawableCompat:
-
- Memperbaiki bug di mana variabel yang salah dibaca untuk
android:tintMode
. (Masalah 201907)
- Memperbaiki bug di mana variabel yang salah dibaca untuk
Revisi 23.2.0
Februari 2016
- Perubahan untuk Support library v4:
-
- Menambahkan
MediaBrowserCompat
untuk dukunganMediaBrowser
, danMediaBrowserServiceCompat
untuk dukunganMediaBrowserService
. Hal ini berguna saat menghubungkan layanan latar belakang aplikasi media dengan komponen UI, dan berintegrasi dengan Android Auto dan Android Wear tanpa memerlukan API level 21 atau yang lebih tinggi. - Sistem sekarang memanggil
onActivityResult()
untukFragmentActivity
bertingkat.
- Menambahkan
- Perubahan untuk library AppCompat v7:
-
- Menambahkan fungsionalitas Mode Malam ke API level 14 dan yang lebih tinggi. Beralihlah antara Tema Terang dan Tema Gelap berdasarkan waktu atau setelan khusus aplikasi.
-
- Tema siang dan malam dapat ditemukan di sini:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
AppCompatDelegate.setDefaultNightMode()
: menetapkan mode default aplikasi dengan meneruskan salah satu konstanta berikut:-
MODE_NIGHT_AUTO
MODE_NIGHT_NO
MODE_NIGHT_YES
MODE_NIGHT_FOLLOW_SYSTEM
AppCompatDelegate.setLocalNightMode()
: mengganti setelan mode malam untuk komponen aplikasi lokal.AppCompatDelegate.getDefaultNightMode()
: menampilkan mode malam default.
- Tema siang dan malam dapat ditemukan di sini:
- Perubahan untuk library mediarouter v7:
-
MediaRouteControllerDialog
kini menerapkan warna tema aplikasi kustom dengan benar.
- Perubahan untuk support library Design:
-
- Menambahkan dukungan untuk sheet bawah. Plugin interaksi,
BottomSheetBehavior
, memungkinkan tampilan turunanCoordinatorLayout
untuk berfungsi sebagai sheet bawah. Class dasar,BottomSheetCallback
, menyediakan callback untuk memantau peristiwa sheet bawah.
- Menambahkan dukungan untuk sheet bawah. Plugin interaksi,
- Perubahan untuk support library CustomTabs:
-
- Tab Khusus Chrome kini memungkinkan aplikasi untuk menyertakan panel bawah dengan tombol tindakan, selain tombol tindakan atas yang sudah ada.
CustomTabsIntent.Builder.addToolBarItem()
: menambahkan tombol tindakan ke tab khusus. Anda dapat menggunakan ini untuk menambahkan beberapa tombol.CustomTabsSession.setToolBarItem()
: memperbarui visual untuk item toolbar. Metode ini hanya akan berhasil jika diberi ID yang valid dan sesi browser berjalan di latar depan.
- Menambahkan pustaka dukungan VectorDrawable:
-
- Kelas yang Ditambahkan:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- Menambahkan dukungan untuk aset
VectorDrawable
ke aplikasi yang berjalan di API level 7 atau yang lebih tinggi. AsetAnimatedVectorDrawable
juga didukung pada API level 11 atau yang lebih tinggi. Aset vektor dapat jauh lebih kecil daripada aset gambar dan akan membantu mengurangi ukuran aplikasi dengan mengurangi jumlah aset yang diperlukan untuk mendukung beberapa layar perangkat. - Library ini sekarang menjadi dependensi dari library AppCompat v7, yang memungkinkan developer dan AppCompat untuk menggunakan vektor drawable dengan mudah. Untuk menggunakan
VectorDrawableCompat
di dalam suatuImageButton
atauImageView
, gunakan atribut XMLapp:srcCompat
atau metodesetImageResource()
. - Untuk terus mereferensikan ID atribut di API level 20 atau
yang lebih rendah, tambahkan flag
appt
berikut ke filebuild,gradle
Anda: -
- Jika Anda membuat aplikasi dengan Plugin Android untuk Gradle 1.5.0 atau yang lebih rendah, tambahkan kode berikut ke file
build.gradle
Anda: -
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" } }
- Jika Anda membuat aplikasi dengan Plugin Android untuk Gradle 2.0.0 atau yang lebih tinggi, tambahkan kode berikut ke file
build.gradle
Anda: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Jika Anda membuat aplikasi dengan Plugin Android untuk Gradle 1.5.0 atau yang lebih rendah, tambahkan kode berikut ke file
- Perubahan untuk Library Leanback v17:
-
- Menambahkan kemampuan baru ke
GuidedStepFragment
, yang merupakan komponen yang memandu pengguna dalam mengambil sebuah atau serangkaian keputusan: -
- Menambahkan tindakan tombol ke
GuidedAction
: GuidedStepFragment.setButtonActions()
: menetapkan daftar tombolGuidedAction
yang dapat dipilih pengguna dari tampilan Action.- Bidang Description sekarang bisa diedit:
-
GuidedAction.Builder.descriptionEditable()
: saat meneruskantrue
, menetapkan deskripsi tindakan agar dapat diedit.GuidedAction.getEditDescription()
: menampilkan deskripsi yang dapat diedit sebagaiCharSequence
.
- Menambahkan daftar tarik-turun dari sub-tindakan:
-
GuidedAction.setSubActions()
: menetapkan daftarGuidedAction
sebagai menu drop-down dari sub-tindakan.
- Menambahkan tindakan tombol ke
- Menambahkan widget
GuidedDatePickerAction
untuk fungsionalitasDatePicker
: -
- Tanggal dipilih menggunakan kolom tahun, bulan, dan hari, serta memiliki rentang yang dapat disesuaikan.
GuidedDatePickerAction.Builder
: class builder untuk objekGuidedDatePickerAction
.GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat)
: menetapkan format tanggal yang diinginkan dengan meneruskanString
tiga karakter yang sesuai, misalnya“YMD”
atau“MDY”
. Atau, gunakan atribut XMLdatePickerFormat
.
- Menambahkan kemampuan baru ke
- Perubahan untuk library RecyclerView v7:
-
RecyclerView
kini memiliki fitur keikutsertaan yang disebut AutoMeasure yang memungkinkanRecyclerView.LayoutManager
menggabungkan konten atau menangani berbagai spesifikasi pengukuran yang disediakan oleh indukRecyclerView
dengan mudah. Class ini mendukung semua kemampuan animasiRecyclerView
yang ada.-
- Jika Anda memiliki
RecyclerView.LayoutManager
kustom, panggilsetAutoMeasureEnabled(true)
untuk mulai menggunakan AutoMeasure API yang baru. Semua objekRecyclerView.LayoutManager
bawaan secara default mendukung pengukuran otomatis. RecyclerView.LayoutManager
tidak lagi mengabaikan beberapa setelanRecyclerView.LayoutParams
, sepertiMATCH_PARENT
dalam arah scroll.Catatan: Pembatasan yang telah dicabut ini dapat menyebabkan perilaku yang tidak terduga dalam tata letak Anda. Pastikan Anda menentukan parameter tata letak yang benar.
- Jika Anda memiliki
- Saat memperbarui
RecyclerView.ViewHolder
dengan informasi payload,DefaultItemAnimator
kini menonaktifkan animasi perubahan. - Sekarang Anda dapat mengubah kecepatan escape
ItemTouchHelper
untuk mengontrol sensitivitas geser. Agar lebih mudah atau lebih sulit untuk menggeser, gantigetSwipeEscapeVelocity(float defaultValue)
dan ubahdefaultValue
.
Revisi 23.1.1
November 2015
- Perubahan untuk library recyclerview v7:
-
- Memperbaiki error yang terjadi saat Anda melakukan tindakan geser-untuk-menutup yang
disediakan oleh class utilitas
ItemTouchHelper
, lalu menambahkan item. (Masalah 190500)
- Memperbaiki error yang terjadi saat Anda melakukan tindakan geser-untuk-menutup yang
disediakan oleh class utilitas
- Perubahan untuk library preference v7:
-
- Memperbaiki masalah terkait penggunaan ProGuard. (Masalah 183261)
- Perubahan untuk Support library Leanback v17:
-
- Memperbaiki sejumlah masalah internal di library ini.
- Perubahan untuk Support library Design:
-
- Menambahkan metode
getHeaderView
ke classNavigationView
. - Perbaikan masalah latar belakang transparan untuk objek
FloatingActionButton
di perangkat yang menjalankan Android 4.0 (API level 15) dan yang lebih rendah. (Masalah 183315)
- Menambahkan metode
Revisi 23.1.0
Oktober 2015
- Perubahan untuk Support library v4:
-
- Menambahkan dukungan antarmuka
OnScrollChangedListener
ke widgetNestedScrollView
. Hal ini memungkinkan Anda menerima callback saat posisi scroll X atau Y berubah. - Menambahkan class
MediaButtonReceiver
untuk meneruskan kontrol pemutaran yang diterima ke layanan yang mengelola classMediaSessionCompat
. ClassMediaSessionCompat
memiliki konstruktor yang dapat otomatis menemukan penerima tombol media dalam manifes. Penerima tombol media adalah bagian penting untuk menangani kontrol pemutaran dari kontrol hardware atau Bluetooth.
- Menambahkan dukungan antarmuka
- Perubahan untuk library appcompat v7:
-
- Menambahkan desain material
Seekbar
dan widgetImageButton
. - Memperbarui widget
ImageView
untuk mendukung fitur warna. - Memperbarui tampilan dan nuansa widget
SwitchCompat
.
- Menambahkan desain material
- Perubahan untuk library mediarouter v7:
-
- Menambahkan fitur berikut ke class
MediaRouteChooserDialog
: - Menampilkan halaman pemuatan selagi mencari penyedia rute media.
- Mencakup ikon jenis perangkat untuk mempermudah identifikasi perangkat.
- Mengurutkan rute berdasarkan frekuensi penggunaan dalam aplikasi saat ini.
- Mendukung mode lanskap.
- Menambahkan fitur berikut ke class
MediaRouteControllerDialog
: - Mengenali transmisi layar dan memberikan deskripsi yang tepat.
- Mendukung berbagai ukuran dan rasio lebar tinggi sampul album, serta memuat sampul secara asinkron.
- Otomatis memilih warna konten berdasarkan warna utama aplikasi.
- Menyesuaikan tata letak dialog berdasarkan ruang layar yang tersedia di perangkat.
- Mendukung mode lanskap.
- Menambahkan fitur berikut ke class
- Perubahan untuk library palet v7:
-
- Menambahkan metode
setRegion()
untuk mendukung ekstraksi warna dari wilayah tertentu dari objekBitmap
.
- Menambahkan metode
- Perubahan untuk library recyclerview v7:
-
- Menambahkan API animasi yang ditingkatkan ke class
ItemAnimator
untuk penyesuaian yang lebih baik: - Animasi perubahan tidak lagi menerapkan dua salinan objek
ViewHolder
, yang mengaktifkan animasi konten item. Selain itu, objekItemAnimator
memutuskan apakah ingin menggunakan kembali objekViewHolder
yang sama atau membuat objek baru. - API kumpulan informasi baru memberikan fleksibilitas kepada class
ItemAnimator
untuk mengumpulkan data pada titik yang benar dalam siklus proses tata letak. Informasi ini kemudian diteruskan ke callback animasi.
- Menyediakan rencana transisi yang lancar untuk perubahan API yang tidak kompatibel dengan versi lama ini:
- Jika sebelumnya telah memperluas class
ItemAnimator
, Anda dapat mengubah class dasar menjadiSimpleItemAnimator
dan kode Anda akan berfungsi seperti sebelumnya. ClassSimpleItemAnimator
menyediakan API lama dengan menggabungkan API baru. - Beberapa metode dihapus dari class
ItemAnimator
. Kode berikut tidak akan lagi dikompilasi:
Kotlin
recyclerView.itemAnimator.supportsChangeAnimations = false
Java
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
Anda dapat menggantinya dengan:
Kotlin
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Java
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- Menambahkan API animasi yang ditingkatkan ke class
- Perubahan untuk Support Library Preference v7, v14, dan v17:
-
- Menghapus API untuk mengontrol dialog
EditText
.
- Menghapus API untuk mengontrol dialog
- Perubahan untuk Support library Leanback v17:
-
- Menambahkan versi class
GuidedStepFragment
untuk Support library (memperluasandroid.support.v4.app.Fragment
), serta animasi dan transisi yang lebih baik. - Mengupdate class
GuidedStepFragment
sehingga dapat ditempatkan di atas konten yang ada. - Menambahkan kemampuan untuk menganotasi berbagai jenis penyelesaian penelusuran ke class
SearchFragment
. - Menambahkan dukungan transisi slide bertahap ke class
VerticalGridFragment
.
- Menambahkan versi class
- Perubahan untuk Support library Design:
-
- Menambahkan dukungan
penghitungan karakter ke widget
TextInputLayout
. - Menambahkan dukungan pengepasan tepi ke class
AppBarLayout
dengan menambahkan konstantaSCROLL_FLAG_SNAP
. Saat scroll berakhir, jika tampilan hanya terlihat sebagian, tampilan akan diikat dan di-scroll ke tepi terdekat. - Menambahkan dukungan untuk tampilan kustom ke class
NavigationView
menggunakan atributapp:actionLayout
atau metodeMenuItemCompat.setActionView()
.
- Menambahkan dukungan
penghitungan karakter ke widget
- Perubahan untuk Support library Custom Tabs:
-
- Menambahkan metode
enableUrlBarHiding()
ke classCustomTabsIntent
. Hal ini memungkinkan klien untuk menyesuaikan apakah kolom URL akan otomatis disembunyikan saat di-scroll ke bawah. - Menambahkan metode
setActionButton()
ke classCustomTabsSession
. Ini memungkinkan klien mengubah ikon untuk tombol tindakan kustom di tab kustom yang sudah diluncurkan. - Menambahkan konstanta
TAB_SHOWN
danTAB_HIDDEN
sebagai peristiwa baru untuk metodeonNavigationEvent
dari classCustomTabsCallback
.
- Menambahkan metode
Revisi 23.0.1
September 2015
- Perubahan untuk Support library Preference v7 dan v14:
-
- Menambahkan file tata letak dan gaya desain material. (Masalah 183376)
- Perubahan untuk library appcompat v7:
-
- Memperbaiki masalah error untuk class
Fragment
dengan membatasi penggunaan lapisan hardware ke Android 4.1 (API level 16) dan yang lebih tinggi. (Masalah 183896) - Memperbaiki masalah saat tombol hardware tidak berfungsi ketika suatu aktivitas telah menetapkan
class
Toolbar
untuk berfungsi sebagaiActionBar
dengan menggunakan metodesetSupportActionBar()
. (Masalah 183334) - Memperbarui class
AppCompatDialogFragment
sehingga tidak lagi menampilkan errorWindows feature must be requested before adding content
. (Masalah 183186)
- Memperbaiki masalah error untuk class
- Perubahan untuk Support library Design:
-
- Memperbaiki
class
AppBarLayout
sehingga sekarang digambar dengan benar setelah rotasi. (Masalah 183109) - Memperbaiki class
TabLayout
sehingga sekarang berperilaku dengan benar saat pengguna mengklik setelah menggeser. (Masalah 183123)
- Memperbaiki
class
- Perubahan untuk Support library Custom Tabs:
-
- Menurunkan nilai
minSdkVersion
dari 16 menjadi 15 untuk dukungan versi. - Menambahkan cara untuk menghasilkan
CustomTabsSessionToken
dari intent.
- Menurunkan nilai
Revisi 23
Agustus 2015
- Menambahkan support library baru:
Untuk daftar lengkap perubahan Support Library, lihat Laporan Perbedaan API Support Library.
Revisi 22.2.1
Juli 2015
- Perubahan untuk Support library Design:
-
- Menambahkan metode
hide()
danshow()
ke classFloatingActionButton
untuk pemicuan animasi secara terprogram. - Menambahkan konstanta
LENGTH_INDEFINITE
ke classSnackbar
untuk menampilkan snackbar sampai ditutup atau snackbar lain ditampilkan. Selain itu, metodesetActionTextColor(int)
dansetActionTextColor(ColorStateList)
ditambahkan. - Menambahkan metode
getSelectedTabPosition()
ke classTabLayout
untuk mengambil tab yang saat ini dipilih. - Menyediakan API yang sangat lancar untuk class
android.support.v7.app.NotificationCompat.MediaStyle
untuk perantaian metode. - Menambahkan metode praktis ke
RecyclerView
untuk penyisipan banyak item sekaligus.
- Menambahkan metode
Untuk daftar lengkap perubahan Support Library, lihat Laporan Perbedaan API Support Library.
Revisi 22.2.0
Mei 2015
- Menambahkan Design Support Library:
-
- Menambahkan
TextInputLayout
untuk menampilkan petunjukEditText
dan teks error sebagai label mengambang. - Menambahkan
FloatingActionButton
untuk mengimplementasikan tindakan utama di antarmuka Anda sebagai tombol tindakan mengambang, yang mendukung ukuran default atau mini. - Menambahkan
Snackbar
untuk memberikan masukan ringan dengan tindakan opsional dalam snackbar animasi. - Menambahkan
TabLayout
untuk mengimplementasikan tab tetap dan dapat di-scroll, serta integrasi yang mudah denganViewPager
. - Menambahkan
NavigationView
untuk mengimplementasikan konten panel navigasi, termasuk kemampuan untuk meluaskan item menu melalui Resource Menu. - Menambahkan
CoordinatorLayout
, yang merupakan tata letak serbaguna, yang digunakan untuk membangun dependensi antara tampilan yang setara dan memungkinkan reaksi scroll yang mudah antar-komponen melaluiCoordinatorLayout.Behavior
. Banyak komponen Library Design bergantung pada menjadi turunan dariCoordinatorLayout
. - Menambahkan
AppBarLayout
, penampung untukToolbar
dan tampilan lainnya (sepertiTabLayout
) untuk bereaksi terhadap peristiwa scroll dengan men-scroll keluar layar, yang menjadi terlihat sebagai reaksi terhadap scroll ke bawah, atau menciutkan/membatalkan penciutan sebelum men-scroll keluar/memasuki layar. - Menambahkan
CollapsingToolbarLayout
untuk mengontrol penciutanToolbar
. Toolbar dapat menciut dengan: menyematkan komponen ke bagian atas layar saat layar diciutkan, memperkenalkan scroll paralaks komponen sepertiImageView
, atau menambahkan warna scrim konten ketika tampilan diciutkan sebagian.
- Menambahkan
- Perubahan untuk support library v4:
-
- Menambahkan metode
getContentChangeTypes()
dansetContentChangeTypes()
serta kolom jenis perubahan yang terkait ke classAccessibilityEventCompat
untuk penanganan peristiwa aksesibilitas. - Menambahkan metode
getActiveQueueItemId()
,getCustomActions()
, dangetExtras()
beserta kolom status yang terkait ke classPlaybackStateCompat
untuk mengambil tindakan kustom dari antrean. - Menambahkan metode
addCustomAction()
,setActiveQueueItemId()
, dansetExtras()
ke classPlaybackStateCompat.Builder
untuk menambahkan tindakan kustom ke status pemutaran. - Menambahkan
metode
fromCustomAction()
dangetCustomAction()
ke classPlaybackStateCompat.CustomAction
untuk mendapatkan tindakan kustom dari antrean. - Menambahkan metode
isAttachedToWindow()
,offsetLeftAndRight()
, danoffsetTopAndBottom()
ke classViewCompat
untuk menangani tampilan. - Menambahkan metode
addOnPageChangeListener()
,clearOnPageChangeListeners()
, danremoveOnPageChangeListener()
ke classViewPager
untuk merespons perubahan halaman.Menghentikan penggunaan metode
ViewPager.setOnPageChangeListener()
. - Menambahkan
metode
notifySubtreeAccessibilityStateChanged()
ke classViewParentCompat
untuk memberi tahu induk tampilan bahwa status aksesibilitas salah satu turunannya telah berubah. - Menambahkan metode
translationZ()
,translationZBy()
,z()
, danzBy()
ke classViewPropertyAnimatorCompat
untuk menambahkan animasi.
- Menambahkan metode
- Perubahan untuk library appcompat v7:
-
- Menambahkan metode
onWindowStartingSupportActionMode()
ke classAppCompatActivity
,AppCompatCallback
, danAppCompatDialog
untuk menangani mode tindakan yang dimulai dari jendela saat ini. - Menambahkan
metode
isHandleNativeActionModesEnabled()
dansetHandleNativeActionModesEnabled()
ke classAppCompatDelegate
untuk menangani mode tindakan native.
- Menambahkan metode
Untuk daftar lengkap perubahan Support Library, lihat Laporan Perbedaan API Support Library.
Revisi 22.1.0
April 2015
- Perubahan untuk library Annotations:
-
- Menambahkan library Annotations untuk memberikan dukungan bagi pemeriksaan kode yang disempurnakan. Anotasi ditambahkan sebagai tag metadata yang dilampirkan ke variabel, parameter, dan nilai yang ditampilkan untuk memeriksa nilai yang ditampilkan metode, parameter yang diteruskan, serta variabel dan kolom lokal.
- Perubahan untuk support library v4:
-
- Menambahkan class
ColorUtils
untuk menyediakan sekumpulan metode utilitas terkait warna. - Menambahkan metode
unwrap()
danwrap()
ke classDrawableCompat
, yang memungkinkan Anda menggunakansetTint()
,setTintList()
, dansetTintMode()
di semua perangkat yang menjalankan API level 4 atau yang lebih tinggi. - Menambahkan class
TraceCompat
untuk menulis peristiwa rekaman aktivitas ke buffering pelacakan sistem, yang kemudian dapat dikumpulkan dan divisualisasikan menggunakan alat Systrace. - Menambahkan class
CircularIntArray
untuk membuat struktur data array bilangan bulat melingkar. - Menambahkan metode
clear()
,removeFromStart()
, danremoveFromEnd()
ke classCircularArray
. Selain itu, mengubah metode yang ada di class ini menjadi non-final. - Menambahkan
InputDeviceCompat
sebagai class helper untuk mengakses data di classInputDeviceCompat
. - Menambahkan class
LayoutInflaterCompat
sebagai class helper untuk mengakses data di classLayoutInflaterCompat
dan menambahkan antarmukaLayoutInflaterFactory
. - Menambahkan kelas, metode, dan antarmuka untuk mendukung nested scrolling.
- Menambahkan class helper
NestedScrollingChildHelper
danNestedScrollingParentHelper
untuk mengimplementasikan tampilan induk dan turunan scroll bertingkat. - Menambahkan antarmuka
NestedScrollingChild
yang akan diimplementasikan oleh subclassView
. - Menambahkan antarmuka
NestedScrollingParent
danScrollingView
untuk mendukung operasi scroll dan menyediakan API terkait scroll. - Menambahkan metode
getNestedScrollAxes()
ke classViewGroupCompat
. - Menambahkan metode ke class
ViewParentCompat
untuk mendukung scroll bertingkat. - Menambahkan class
NestedScrollView
untuk mendukung induk dan turunan scroll bertingkat pada Android versi baru dan lama.
- Menambahkan class helper
- Menambahkan metode dan konstanta ke class
MotionEventCompat
untuk mendapatkan nilai sumbu dan sumber peristiwa. - Memperbarui class
AccessibilityNodeInfoCompat
guna menambahkan metode untuk error, pembatalan konten, dan label. - Menambahkan class interpolasi berikut untuk animasi:
FastOutLinearInInterpolator
,FastOutSlowInInterpolator
,LinearOutSlowInInterpolator
,LinearOutSlowInInterpolator
, danPathInterpolatorCompat
. - Menambahkan class
Space
untuk membuat celah di antara komponen dalam tata letak bertujuan umum. Class ini tidak digunakan lagi dalam library gridlayout. - Menambahkan class
TextViewCompat
untuk mengakses fitur diTextView
. - Menambahkan parameter perpindahan ke metode
onPull()
di classEdgeEffectCompat
.
- Menambahkan class
- Perubahan untuk library appcompat v7:
-
- Menambahkan dukungan tint untuk widget appcompat, termasuk
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
, danAppCompatTextView
. - Memperbarui
AppCompatActivity
sebagai class dasar untuk aktivitas yang menggunakan fitur panel tindakan support library. Class ini menggantikanActionBarActivity
yang sudah tidak digunakan lagi. - Menambahkan antarmuka
AppCompatCallback
yang akan diterapkan untuk AppCompat agar dapat menjalankan callback. - Menambahkan class abstrak
AppCompatDelegate
sebagai delegasi yang dapat digunakan untuk memperluas dukungan AppCompat ke aktivitas apa pun. - Menambahkan class
AppCompatDialog
sebagai class dasar untuk dialog bertema AppCompat. - Menambahkan gaya indikator lingkaran berputar
AlertDialog
dan classAlertDialog.Builder
untuk memberikanAlertDialog
bertema AppCompat. - Menambahkan class
Palette.Builder
untuk menghasilkan instancePalette
.- Menambahkan metode
from(Bitmap)
ke classPalette
untuk mulai membuat Palet dengan instancePalette.Builder
yang ditampilkan. - Menghentikan penggunaan metode
Palette.generate()
danPalette.generateAsync()
.
- Menambahkan metode
- Menambahkan metode
getAbsoluteAlignment()
ke classGridLayout.Spec
. - Menghentikan penggunaan
app:theme
untuk menata gayaToolbar
. Kini Anda dapat menggunakanandroid:theme
untuk toolbar di semua perangkat yang menjalankan API level 7 dan yang lebih tinggi, serta dukunganandroid:theme
untuk semua widget di perangkat yang menjalankan API level 11 dan yang lebih tinggi.
- Menambahkan dukungan tint untuk widget appcompat, termasuk
- Perubahan untuk library leanback v17:
-
- Menambahkan
GuidedStepFragment
,GuidanceStylist
, danGuidedActionsStylist
untuk mendukung pembuatan alur keputusan multi-langkah.
- Menambahkan
- Perubahan untuk library recyclerview v7:
-
- Menambahkan class
SortedList
untuk menampilkan item dalam urutan daftar dan memberikan notifikasi tentang perubahan pada daftar. - Menambahkan class
SortedListAdapterCallback
yang dapat mengikat daftar yang diurutkan ke classRecyclerView.Adapter
.
- Menambahkan class
- Perubahan untuk library RenderScript v8:
-
- Menambahkan class
ScriptIntrinsicHistogram
untuk digunakan sebagai filter histogram. - Menambahkan class
ScriptIntrinsicResize
untuk melakukan perubahan ukuran alokasi 2D.
- Menambahkan class
- Perubahan untuk support library v4:
-
- Memperbarui metode
getDrawable()
agar menampilkan objek drawable untuk ID resource, kepadatan layar, dan tema tertentu. - Menambahkan metode
setImportantForAccessibility()
sehingga Anda dapat menunjukkan apakah tampilan harus memicu peristiwa aksesibilitas. - Metode
getStatusBarBackgroundDrawable()
telah ditambahkan sehingga Anda bisa mendapatkan drawable latar belakang status bar. - Menambahkan metode ke class
NotificationCompat.CarExtender.UnreadConversation
sehingga aplikasi pesan Android Auto dapat mengambil data notifikasi tambahan. - Menambahkan metode
getProgressCircleDiameter()
untuk menampilkan diameter tata letak lingkaran. - Mengubah warna status bar
DrawerLayout
default menjadicolorPrimaryDark
.
- Memperbarui metode
- Perubahan untuk library appcompat v7:
-
- Menambahkan gaya indikator lingkaran berputar
Base_Widget_AppCompat_Spinner_Underlined
. - Menambahkan gaya widget berwarna dengan
Widget_AppCompat_AutoCompleteTextView
,MultiAutoCompleteTextView
,TextAppearance_AppCompat_Button
, danBase_Widget_AppCompat_RatingBar
.
- Menambahkan gaya indikator lingkaran berputar
- Perubahan untuk library leanback v17:
-
- Menambahkan metode
getRecycledPoolSize()
dansetRecycledPoolSize()
untuk memungkinkan ukuran kumpulan daur ulang yang disesuaikan. - Menambahkan atribut
WRAP_CONTENT
ke setelan lebar tata letak untuk mendukung gabungan konten untuk ikon judul. - Menentukan
R.transition
dalam XML untuk meningkatkan update transisi. - Mengaktifkan dukungan untuk tata letak kanan ke kiri.
- Menambahkan dukungan peristiwa tombol media putar dan jeda ke class
PlaybackOverlayFragment
. - Menambahkan transisi enter dan return ke class
BrowseFragment
dan classDetailsFragment
. - Menambahkan metode
replace()
untuk mengganti item dalam array adaptor objek.
- Menambahkan metode
- Perubahan untuk library mediarouter v7:
-
- Memperbarui ikon Google Cast agar menggunakan gaya desain material.
- Memperbarui semua ikon yang digunakan dalam dialog
MediaRouter
agar menggunakan gaya desain material.
- Perubahan untuk library recyclerview v7:
-
- Menambahkan metode
getlayoutPosition()
dangetadapterPosition()
ke classRecyclerView
. - Menghentikan penggunaan metode
classgetChildPosition()
danfindViewHolderForPosition()
di classRecyclerView
. - Menghentikan penggunaan metode
getPosition()
di classRecyclerView.ViewHolder
. - Menghentikan penggunaan metode
getViewPosition()
di classRecyclerView.LayoutParams
.
- Menambahkan metode
- Perubahan untuk support library v4:
-
- Menambahkan beberapa metode
NotificationCompat.WearableExtender
untuk meningkatkan tampilan kode batang dalam notifikasi di perangkat wearable.
- Menambahkan beberapa metode
- Perubahan untuk support library v4:
-
- Menambahkan class
NotificationCompat.CarExtender
untuk mendukung ekstensi Android Auto ke notifikasi.
- Menambahkan class
- Perubahan untuk library appcompat v7:
-
- Menambahkan konstruktor
PopupMenu
untuk mendukung menu pop-up baru. - Menambahkan dukungan untuk deskripsi ikon Ciutkan di class
Toolbar
. - Mengupdate widget
SearchView
untuk mendukung penayangancommitIcon
. - Menghapus atribut
buttonGravity
dari classToolbar
.
- Menambahkan konstruktor
- Perubahan untuk library cardview v7:
-
- Menambahkan
setCardBackgroundColor(ColorStateList)
API untuk mendukung perubahan warna latar belakangCardView
. - Mengubah
CardView
agar lebih akurat dalam melaporkan nilai opasitasnya sebagaiTRANSLUCENT
.
- Menambahkan
- Perubahan untuk library recyclerview v7:
-
- Menambahkan konstanta
TOUCH_SLOP_DEFAULT
danTOUCH_SLOP_PAGING
ke classRecyclerView
untuk mendukung konfigurasi touch slop untuk paging.
- Menambahkan konstanta
- Perubahan untuk library leanback v17:
-
- Menambahkan dukungan untuk menghasilkan fragmen kode v4.
- Mengubah warna teks sekunder di
CardView
.
- Menambahkan support library multidex guna mendukung beberapa file Dalvik Executable (DEX) untuk dukungan file multidex sebelum Android 5.0.
- Perubahan untuk support library v4:
-
- Menambahkan dukungan untuk transisi
Fragment
bagi perangkat yang menjalankan Android 5.0 (API level 21). Perlu diketahui bahwa transisi tidak berpengaruh pada perangkat yang menjalankan Android 4.4 dan yang lebih lama. - Menambahkan
DocumentFile
untuk memudahkan transisi dariFile
selagi menangani hierarki dokumen. Namun, class ini menuntut lebih banyak overhead pemrosesan dibandingkan denganDocumentsContract
API platform yang ditambahkan di Android 4.4 (API level 19). Jadi, Anda harus beralih menggunakanDocumentsContract
saat menjalankan di Android 4.4 dan yang lebih tinggi.
- Menambahkan dukungan untuk transisi
- Perubahan untuk library appcompat v7:
-
- Penambahan dukungan untuk antarmuka pengguna desain material.
- Menambahkan
Toolbar
, yang menggeneralisasi fungsionalitasActionBar
untuk digunakan dalam tata letak aplikasi. - Memperbarui
ActionBarDrawerToggle
, yang berisi animasi menu-ke-panah - Mengupdate widget antarmuka pengguna umum untuk memungkinkan penambahan tint melalui atribut tema saat berjalan di perangkat pra-Android 5.0
- Menambahkan
SwitchCompat
, backport dari widgetSwitch
yang ditambahkan di Android 4.0 (API level 14).
- Library cardview v7 baru:
-
- Menambahkan widget
CardView
, yang menyediakan implementasi yang kompatibel dengan desain material untuk menampilkan item data.
- Menambahkan widget
- Library recyclerview v7 baru:
-
- Menambahkan widget
RecyclerView
, yang menyediakan tampilan daftar fleksibel untuk menyediakan jendela terbatas ke set data yang besar.
- Menambahkan widget
- Library palet v7 baru:
-
- Menambahkan class
Palette
, yang memungkinkan Anda mengekstrak warna yang menonjol dari sebuah gambar.
- Menambahkan class
- Library leanback v17 baru:
-
- Menambahkan dukungan untuk membuat antarmuka pengguna TV, termasuk
BrowseFragment
,DetailsFragment
, danPlaybackOverlayFragment
. Untuk informasi selengkapnya tentang penggunaan widget antarmuka pengguna ini, lihat Membuat Aplikasi Pemutaran TV.
- Menambahkan dukungan untuk membuat antarmuka pengguna TV, termasuk
- Perubahan untuk support library v4:
-
- Penambahan dukungan notifikasi yang diperluas untuk Android Wear di
NotificationCompat.WearableExtender
, yang memungkinkan Anda menetapkan fitur khusus perangkat wearable dalam notifikasi. - Menambahkan
NotificationCompat.Action.WearableExtender
, yang memungkinkan tindakan ditambahkan di notifikasi wearable. - Menambahkan
NotificationManagerCompat
, yang memungkinkan Anda memberikan notifikasi yang mendukung fitur wearable dengan benar. - Menambahkan
RemoteInput
, yang memungkinkan perangkat genggam menerima input suara dari notifikasi yang muncul di perangkat wearable. - Meningkatkan penanganan masukan sentuhan di
SwipeRefreshLayout
.
- Penambahan dukungan notifikasi yang diperluas untuk Android Wear di
- Perubahan untuk support library v4:
-
- Menambahkan class
SwipeRefreshLayout
, yang memungkinkan pengguna memuat ulang konten tampilan dengan gestur geser vertikal. - Memperbaiki masalah aksesibilitas terkait panel navigasi.
- Menambahkan class
- Perubahan untuk library appcompat v7:
-
- Memperbaiki masalah latar belakang terkait panel tindakan.
- Perubahan untuk support library v4:
-
- Meningkatkan
PrintHelper
dengan menambahkan penanganan asinkron untuk pencetakan. - Memperbaiki perkiraan class
DrawerLayout
dari metodeaddChildrenForAccessibility()
. - Memperbaiki pencerminan slide drawable di
ActionBarDrawerToggle
. - Memperbaiki masalah off-by-one saat menghapus item dari iterator koleksi.
- Meningkatkan
- Perubahan untuk library mediarouter v7:
-
- Menyempurnakan identifikasi rute dengan menggunakan nama komponen lengkap di
MediaRouteProvider.ProviderMetadata
. - Memperbarui
MediaRouteChooserDialog
untuk menyembunyikan rute yang dinonaktifkan.
- Menyempurnakan identifikasi rute dengan menggunakan nama komponen lengkap di
- Perubahan untuk library RenderScript v8
-
- Menambahkan penyebaran error untuk lapisan thunking RenderScript.
- Perubahan untuk support library v4:
-
- Menambahkan dukungan untuk Storage API eksternal dengan
getObbDirs()
,getExternalFilesDirs()
,getExternalCacheDirs()
, dangetStorageState()
. Metode helper ini selalu menampilkan satu objek file di perangkat yang menjalankan Android 4.3 (API level 18) dan yang lebih lama. Saat dijalankan di Android 4.4 (API level 19) dan yang lebih tinggi, metode ini dapat menampilkan lebih dari satu objek file. - Menambahkan class
PrintHelper
yang kompatibel dengan Print API untuk mencetak gambar dengan kode minimum. - Menambahkan dukungan antarmuka pengguna tarik-untuk-membuka untuk menu pop-up. Untuk informasi selengkapnya, lihat
PopupMenuCompat
danListPopupWindowCompat
. - Meningkatkan dukungan aksesibilitas dengan penambahan metode
findFocus()
diAccessibilityNodeProviderCompat
dan metodegetLiveRegion()
diAccessibilityNodeInfoCompat
. - Menambahkan class helper
ScaleGestureDetectorCompat
untuk mengakses metode gestur penskalaan baru. - Memperbaiki masalah
ActionBarDrawerToggle
dalam tampilan bahasa yang ditulis dari kanan-ke-kiri. - Memodifikasi opsi
AutoScrollHelper
untuk menggunakan peristiwa sentuh atau memungkinkannya diteruskan ke tampilan lain.
- Menambahkan dukungan untuk Storage API eksternal dengan
- Perubahan untuk library mediarouter v7:
-
- Menambahkan dukungan untuk antrean pemutaran media, dengan menetapkan nilai header HTTP dan durasi pemutaran media.
- Menambahkan tindakan sesi start, get, dan end eksplisit untuk mengelola sesi pemutaran media dengan router media secara eksplisit.
- Perubahan untuk support library v4:
-
- Antarmuka pengguna
- Menambahkan
BidiFormatter
untuk menangani string teks yang menggabungkan teks berformat kanan ke kiri dan kiri ke kanan. - Memodifikasi
ViewPager
agar dapat menangani kasus dengan lebih baik ketika pager memiliki lebar nol terukur dalam pemrosesan tata letak awal. - Memodifikasi
DrawerLayout
danSlidingPaneLayout
agar tidak menampilkan pengecualian untuk pengukuran saat kode project sedang diedit.
- Menambahkan
- Aksesibilitas
- Menambahkan
ExploreByTouchHelper
untuk menyederhanakan implementasi aksesibilitas tampilan kustom. - Memperbaiki masalah
ViewPager
yang salah mengisi peristiwa aksesibilitasTYPE_VIEW_SCROLLED
. - Memperbaiki pengecualian pointer null di
ViewPager
saat mengisi peristiwa aksesibilitas. - Menyederhanakan
AccessibilityNodeInfoCompat
dengan mengubah inputCharSequence
menjadi objekString
. - Menghentikan penggunaan konstruktor
AccessibilityRecordCompat
yang menggunakanObject
sebagai input.
- Menambahkan
- Media
- Menambahkan class helper
TransportMediator
untuk mengelola kontrol transport media, seperti putar, jeda, lewati, dan tindakan media lainnya. - Menambahkan
DisplayManagerCompat
untuk mengelola output tampilan ke satu atau beberapa tampilan perangkat.
- Menambahkan class helper
- Perubahan lainnya
- Menambahkan class helper
WakefulBroadcastReceiver
untuk menerapkan pola umum dalam mendeteksi peristiwa bangun perangkat dan mengalihkan pekerjaan keService
sekaligus memastikan bahwa perangkat tidak kembali tidur sebelum handoff selesai. - Menambahkan dua API baru,
commitContentChanged()
danrollbackContentChanged()
, keAsyncTaskLoader
untuk membantu menangani update latar belakang untuk perubahan data yang kemudian dibatalkan.
- Menambahkan class helper
- Antarmuka pengguna
- Library appcompat v7 baru:
-
- Menambahkan
ActionBar
untuk mengizinkan implementasi pola desain antarmuka pengguna panel tindakan kembali ke Android 2.1 (API level 7) dan yang lebih tinggi. Penggunaan class ini mengharuskan Anda mengimplementasikan aktivitas dengan memperluas classActionBarActivity
baru.
- Menambahkan
- Library mediarouter v7 baru:
-
Menambahkan library mediarouter baru yang menyediakan dukungan untuk pratinjau developer Google Cast. API library mediarouter v7 menyediakan sarana untuk mengontrol perutean saluran dan streaming media dari perangkat saat ini ke layar eksternal, speaker, dan perangkat tujuan lainnya, dengan kompatibilitas kembali ke Android 2.1 (API level 7). Lihat library mediarouter V7 untuk informasi selengkapnya.
API library mediarouter v7 yang diperkenalkan dalam Support Library r18 dapat berubah dalam revisi Support Library mendatang. Saat ini, sebaiknya gunakan library hanya dalam kaitannya dengan pratinjau developer Google Cast.
- Perubahan untuk support library v4:
-
- Menambahkan
DrawerLayout
untuk membuat Panel Navigasi yang dapat ditarik dari tepi jendela. - Menambahkan widget
SlidingPaneLayout
untuk membuat tampilan detail dan ringkasan tertaut yang dapat menyesuaikan dengan berbagai ukuran layar. - Menambahkan
ActionBarDrawerToggle
sebagai cara untuk mengaitkan fungsiDrawerLayout
danActionBar
bersama-sama. - Menambahkan
ViewDragHelper
sebagai komponen umum baru untuk menarik tampilan dalam tampilan induk. - Menambahkan
ScrollerCompat
untuk memberikan dukungan kompatibilitasScroller
danOverScroller
. - Menambahkan
FileProvider
untuk mengizinkan berbagi file pribadi antar-aplikasi. - Mengupdate
ViewPager
untuk menampilkan pengecualian jika classPagerAdapter
yang terkait diubah tanpa panggilan kenotifyDataSetChanged()
. - Memperbaiki masalah terkait tata urutan gambar turunan
ViewPager
. - Memperbaiki
GestureDetectorCompat
untuk mengirim panggilanonSingleTapConfirmed(MotionEvent)
yang hilang antara waktu tunggu ketuk dan peristiwa tekan lama.
- Menambahkan
- Library gridlayout v7 baru:
-
- Menambahkan
GridLayout
untuk memberikan dukungan bagi objek tata letakGridLayout
. - Menambahkan
android.support.v7.widget.Space
yang dapat digunakan untuk membuat area kosong dalam objek tata letakGridLayout
.
- Menambahkan
- Perubahan untuk support library v4:
-
- Menyempurnakan perilaku interaksi untuk
ViewPager
. - Memperbaiki bug yang dapat menyebabkan
ViewPager
memilih halaman yang salah. - Memperbaiki penggunaan metode
removeView()
selama tata letak untukViewPager
. - Memperbaiki masalah terkait
SearchViewCompat
saat penggunaan tombol kembali untuk menutup tidak menghapus teks penelusuran. Perbaikan ini hanya berlaku untuk host API level 14 dan yang lebih tinggi.
- Menyempurnakan perilaku interaksi untuk
- Perubahan untuk support library v4:
-
- Antarmuka Pengguna
- Menambahkan dukungan untuk class
Fragment
bertingkat. - Menambahkan peningkatan pada proses debug
FragmentManager
. - Memperbaiki masalah di
FragmentTabHost
saat interaksi tab dan fragmen dapat mengakibatkan hilangnya statusListView
. - Memperbaiki masalah terkait petunjuk yang terlihat oleh pengguna di
FragmentStatePagerAdapter
. - Menambahkan antarmuka
PageTransformer
keViewPager
untuk memungkinkan aplikasi menyediakan perilaku transisi kustom untuk scroll. - Menambahkan fitur baru dan perbaikan ke
TaskStackBuilder
dari rilis saat ini. - Memperbaiki
PagerTitleStrip
untuk melacak dengan benarPagerAdapter
yang saat ini digunakan. - Memperbaiki masalah tampilan berkedip, memosisikan, dan klip teks dengan
PagerTitleStrip
. - Memperbaiki
PagerTabStrip
untuk mematuhi padding dengan benar saat menggambar garis bawah.
- Menambahkan dukungan untuk class
- Aksesibilitas
- Menambahkan dukungan untuk gestur aksesibilitas baru dan jenis peristiwa sentuh di
AccessibilityEventCompat
. - Menambahkan dukungan untuk API aksesibilitas baru di
ViewCompat
. - Menambahkan dukungan untuk metode
performAccessibilityAction()
keViewCompat
.
- Menambahkan dukungan untuk gestur aksesibilitas baru dan jenis peristiwa sentuh di
- Menambahkan dukungan untuk gestur dengan
GestureDetectorCompat
. - Menambahkan dukungan untuk menjalankan operasi atomik pada file menggunakan class
AtomicFile
baru. - Menambahkan dukungan untuk set lengkap metode
make
diIntentCompat
. - Menambahkan metode
trimToSize()
di class utilitasLruCache
. - Memperbarui
ConnectivityManagerCompat
untuk mendapatkan NetworkInfo dari siaranCONNECTIVITY_ACTION
.
- Antarmuka Pengguna
- Perubahan untuk support library v4:
-
- Penambahan dukungan untuk fitur notifikasi yang diperkenalkan di Android 4.1 (API level 16) dengan penambahan pada
NotificationCompat
.
- Penambahan dukungan untuk fitur notifikasi yang diperkenalkan di Android 4.1 (API level 16) dengan penambahan pada
- Perubahan untuk support library v4:
-
- Dukungan Antarmuka Pengguna
- Menambahkan dukungan
PagerTabStrip
, yang menyediakan fungsi yang ditingkatkan di luarPagerTitleStrip
. - Memperbaiki berbagai bug untuk
PagerTitleStrip
danPagerTabStrip
, termasuk opsisetAllCaps
, perataan judul, peningkatan tampilan, batasan lebar minimum, dan masalah navigasi sentuh. - Menambahkan dukungan untuk gutter halaman
ViewPager
, yang membantu classViewPager
memberikan dukungan paging untuk konten dengan rentang scroll horizontal yang besar, seperti peta. - Memperbaiki berbagai bug untuk
ViewPager
, termasuk masalah perubahan ukuran dan set data, pemosisian halaman, interaksi pengguna, pelacakan scroll, dan masalah navigasi keyboard. - Memperbaiki banyak bug untuk
Fragment
, termasuk penangananonActivityResult()
yang tepat saat fragmen target tidak ada lagi, mengirim peristiwa pemilihan ke fragmen yang tidak terlihat, meningkatkan perilakuFragmentTransaction.replace()
, dan menambahkan penanganan status yang lebih baik untuk fragmen yang dipindahkan dari tampilan. - Menambahkan dukungan untuk metode
postOnAnimation()
diViewCompat
. - Mengupdate
NavUtils
untuk menggunakan fungsi navigasi Naik Android 4.1 (API level 16) jika tersedia.
- Menambahkan dukungan
- Aksesibilitas
- Mengupdate class dukungan aksesibilitas, termasuk
AccessibilityNodeInfoCompat
, untuk mengikuti perbaikan yang dibuat di Android 4.1 (API level 16). - Menambahkan dukungan untuk tindakan scroll aksesibilitas di
ViewPager
.
- Mengupdate class dukungan aksesibilitas, termasuk
- Peningkatan umum
- Mengupdate
TaskStackBuilder
untuk mencerminkan perubahan API di Android 4.1 (API level 16). - Meningkatkan
TaskStackBuilder
agar dapat digunakan dari Layanan. - Menambahkan dukungan untuk
EXTRA_HTML_TEXT
keShareCompat
. - Mengupdate
NotificationCompat.Builder
untuk mendukung metodesetNumber()
. - Menambahkan dukungan di
ConnectivityManagerCompat
untuk metodeisActiveNetworkMetered()
.
- Mengupdate
- Dukungan Antarmuka Pengguna
- Perubahan untuk support library v4:
-
- Memperbaiki flag intent untuk objek
PendingIntent
yang dihasilkan olehTaskStackBuilder
. - Menghapus atribut yang tidak digunakan dari project library gridlayout untuk memastikan library dapat dibuat dengan API level 7 dan yang lebih tinggi.
- Menambahkan file
.classpath
dan.project
untuk project library gridlayout.
- Memperbaiki flag intent untuk objek
- Perubahan untuk support library v4:
-
- Menambahkan
ShareCompat
, yang menyediakan class helper untuk mengirim dan menerima konten untuk aplikasi berbagi ke media sosial, termasuk metadata baru untuk mengatribusikan data yang dibagikan ke aplikasi sumber. Class ini juga menyediakan integrasi yang kompatibel denganShareActionProvider
baru di Android 4.0. - Menambahkan
NavUtils
danTaskStackBuilder
guna memberikan dukungan untuk mengimplementasikan panduan Desain Android untuk navigasi. Penambahan ini mencakup cara untuk mengimplementasikan tombol Naik pada panel tindakan di seluruh versi. Untuk contoh implementasi pola ini, lihat contoh AppNavigation di (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
). - Menambahkan
NotificationCompat.Builder
untuk menyediakan implementasi kompatibilitas class helperNotification.Builder
Android 3.0 untuk membuat notifikasi sistem standar.
- Menambahkan
- Perubahan untuk support library v4:
-
- Perubahan pada ViewPager:
- Menambahkan dukungan tampilan dekoratif ekstra untuk
ViewPager
. Tampilan dekoratif dapat disediakan sebagai tampilan turunan dari sebuah halaman dalam tata letak XML. - Menambahkan
PagerAdapter.getPageTitle()
untuk menyediakan string judul bagi halaman, yang secara default ditetapkan ke tanpa judul untuk setiap halaman. - Menambahkan
PagerTitleStrip
, strip judul non-interaktif, yang dapat ditambahkan sebagai turunan ViewPager. Developer dapat menyediakan tampilan dan warna teks, serta informasi ukuran tata letak dan gravitasi. - Memperbarui metode
PagerAdapter
untuk menerima objek ViewGroup, bukan View, guna menghindari transmisi class dalam implementasi adaptor. - Mengupdate
ViewPager
untuk menggunakan perilaku ayunkan jari bergaya Peluncur. - Perbaikan bug untuk interaksi antarmuka pengguna dan otomatisasi pengujian.
- Menambahkan dukungan tampilan dekoratif ekstra untuk
- Dukungan untuk Fragment:
- Mengubah metode
setStartDeferred()
menjadisetUserVisibleHint(boolean)
. - Menambahkan waktu mulai tertunda untuk halaman yang tidak sedang ditampilkan di layar guna meningkatkan performa.
- Mengubah metode
- Dukungan untuk Accessibility API:
- Memperbarui metode
AccessibilityDelegateCompat
untuk menampilkan daftar kosong, bukan null. - Menambahkan API baru yang diperlukan oleh sampel v4.
- Memperbarui metode
- Perubahan pada ViewPager:
- Perubahan untuk support library v4:
-
- Dukungan untuk Accessibility API:
- Menambahkan
AccessibilityDelegateCompat
untuk mendukungView.AccessibilityDelegate
. - Menambahkan
AccessibilityEventCompat
untuk mendukungAccessibilityEvent
. - Menambahkan
AccessibilityManagerCompat
untuk mendukungAccessibilityManager
. - Menambahkan
AccessibilityNodeInfoCompat
untuk mendukungAccessibilityNodeInfo
. - Menambahkan
AccessibilityRecordCompat
untuk mendukungAccessibilityRecord
. - Menambahkan
AccessibilityServiceInfoCompat
untuk mendukungAccessibilityServiceInfo
. - Menambahkan
ViewGroupCompat
untuk mendukung fitur aksesibilitas diViewGroup
. - Mengubah
ViewCompat
untuk mendukung fitur aksesibilitas diView
.
- Menambahkan
- Perubahan pada ViewPager:
- Menambahkan dukungan untuk margin antar-halaman.
Drawable
opsional dapat diberikan untuk mengisi margin. - Menambahkan dukungan untuk
EdgeEffect
. - Menambahkan dukungan untuk navigasi keyboard
- Penambahan dukungan untuk mengontrol jumlah halaman yang disimpan di kedua sisi halaman saat ini.
- Menyempurnakan fisika sentuhan.
- Perbaikan bug untuk perilaku antarmuka pengguna.
- Menambahkan dukungan untuk margin antar-halaman.
- Dukungan untuk Accessibility API:
- Perubahan untuk support library v4:
-
- Menambahkan
EdgeEffectCompat
untuk mendukungEdgeEffect
. - Menambahkan
LocalBroadcastManager
agar aplikasi dapat dengan mudah mendaftar dan menerima intent dalam satu aplikasi tanpa menyiarkannya secara global. - Menambahkan dukungan di
ViewCompat
untuk memeriksa dan menetapkan mode overscroll untukView
di Android 2.3 dan yang lebih baru. - Perubahan pada Fragment API:
- Menambahkan API baru untuk mengontrol visibilitas menu baru.
- Menambahkan API animasi kustom.
- Menambahkan API di
FragmentActivity
untuk mempertahankan data instance kustom non-konfigurasi. - Beragam perbaikan bug.
- Memperbaiki bug
Loader
yang menyebabkan masalah dalam membatalkanAsyncTask
saat berjalan di Froyo dan versi platform yang lebih lama. Kode dukungan sekarang menggunakanAsyncTask
versinya sendiri untuk mempertahankan perilaku yang sama di semua versi platform.
- Menambahkan
- Perubahan untuk support library v4:
-
- Menambahkan dukungan untuk
Fragment.SavedState
- Menambahkan
MotionEventCompat
untuk mendukungMotionEvent
API yang lebih baru - Menambahkan
VelocityTrackerCompat
untuk mendukungVelocityTracker
API yang lebih baru - Menambahkan
ViewConfigurationCompat
untuk mendukungViewConfiguration
API yang lebih baru - Semua API baru (hanya tersedia di support library) yang memungkinkan Anda membuat UI
dengan paging horizontal, sehingga pengguna dapat menggeser ke kiri dan kanan di antara tampilan konten. Class yang
mendukung ini meliputi:
ViewPager
:ViewGroup
yang mengelola tata letak untuk tampilan turunan, tempat pengguna dapat menggeser di antara tampilan tersebut.PagerAdapter
: Adaptor yang mengisiViewPager
dengan tampilan yang mewakili setiap halaman.FragmentPagerAdapter
: EkstensiPagerAdapter
untuk membalik di antara fragmen.FragmentStatePagerAdapter
: EkstensiPagerAdapter
untuk membalik di antara fragmen yang menggunakan dukungan library untukFragment.SavedState
.
- Menambahkan dukungan untuk
- Support library v13 baru:
-
- Menyertakan
FragmentPagerAdapter
danFragmentStatePagerAdapter
untuk mendukung paging horizontal.API ini sama persis dengan API yang ditambahkan ke support library v4, tetapi bergantung pada komponen platform lain di Android 3.2. Gunakan library ini, bukan v4, jika Anda mengembangkan aplikasi untuk Android 3.2 dan yang lebih tinggi (semua API lain di library v4 sudah tersedia dengan API level 13).
- Menyertakan
- Perubahan untuk library v4:
-
- Dukungan untuk animasi fragment
- Memperbaiki bug
Fragment.onActivityResult()
Revisi 22
Maret 2015
Revisi 21.0.3
Desember 2014
Revision 21.0.2
November 2014
Revisi 21.0.1
November 2014
Revisi 21
Oktober 2014
Revisi 20
Juli 2014
Revisi 19.1.0
Maret 2014
Revisi 19.0.1
Desember 2013
Revisi 19
Oktober 2013
Revisi 18
Juli 2013
Revisi 13
Mei 2013
Revisi 12
Februari 2013
Revisi 11
November 2012
Revisi 10
Agustus 2012
Revisi 9
Juni 2012
Revisi 8
April 2012
Revisi 7
Maret 2012
Revisi 6
Desember 2011
Catatan: Referensi untuk API support library kini tersedia dengan
referensi framework, misalnya: android.support.v4.app
.
Revisi 5
Desember 2011
Revisi 4
Oktober 2011
Revisi 3
Juli 2011
Revisi 2
Mei 2011
Revisi 1
Maret 2011
Rilis awal dengan library v4.