Halaman ini menjelaskan rilis paket Support Library versi lama. Untuk rilis Support Library versi 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 di latar belakang pada Android O yang baru.
Diffs API
Perbaikan bug
- Penghilangan Android O SDK menyebabkan hilangnya cetak miring di TextView
- Pengecualian pointer null saat tersambung ke MediaBrowserServiceCompat
- TextInputLayout harus menetapkan petunjuk di onProvideAutofillStructure()
- Stack overflow saat menggunakan ukuran otomatis TextView di Android 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 ternyata dipilih kembali, bukannya memanggilonNavigationItemSelected()
.- Semua instance metode
findViewById()
sekarang menampilkan<T extends View> T
, bukanView
. Perubahan ini memiliki implikasi berikut:- Perubahan ini dapat mengakibatkan kode yang telah ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya
someMethod(View)
dansomeMethod(TextView)
sama-sama ada dan mengambil hasil panggilan kefindViewById()
. - Saat bahasa sumber Java 8 digunakan, transmisi eksplisit ke
View
diperlukan jika jenis nilai yang ditampilkan tidak dibatasi (misalnyaassertNotNull(findViewById(...)).someViewMethod())
. - Penggantian metode
findViewById()
yang belum final (misalnyaActivity.findViewById()
) akan memerlukan pembaruan jenis nilai yang ditampilkan.
- Perubahan ini dapat mengakibatkan kode yang telah ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya
API baru
-
FragmentManager
danFragment
memiliki metodeisStateSaved()
yang memungkinkan pengiriman kueri tentang apakah transaksi diizinkan tanpa kehilangan status atau tidak. Hal ini perlu diperiksa terutama 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 ini ditetapkan sebagaiandroid:pathData
dalam XML animator). - Animasi berbasis prinsip fisika:
FlingAnimation
baru yang mendukung animasi dengan kecepatan awal dan pelambatan yang 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 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 AppCompat digunakan, TextView mendukung penentuan resource font atau XML jenis font melalui atribut XML
android:fontFamily
. - Gunakan XML jenis font untuk membuat jenis font dengan gaya dan ketebalan yang beragam. (Jika class support library digunakan untuk keperluan ini, gunakan atribut
app:
danandroid:
.)
-
- Font yang dapat didownload:
FontsContractCompat
baru yang memungkinkan Anda meminta font dari penyedia font, alih-alih memaketkan font 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.
-
-
Autosizing TextView:
- Metode baru di
TextViewCompat
dan atribut XML untuk mengontrol pengaturan 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
PlaybackSeekDataProvider
baru agar aplikasi menyediakan thumbnail pencarian untukPlaybackTransportControlGlue
.
- Preferences Data Store:
-
PreferenceDataStore
kini memungkinkan Anda menerapkan penyimpanan preferensi sendiri, yang ditetapkan dengan metode baru diPreference
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 Layanan Google Play beta.
Perbaikan bug
-
MediaBrowserCompat.search()
API tidak berfungsi (Masalah AOSP 262170) -
ViewCompat.postInvalidateOnAnimation()
memunculkan pengecualian (Masalah AOSP 80146) -
onActivityCreated()
dipanggil untuk fragment dalam Aktivitas yang telah dimusnahkan -
RecyclerView.isComputingLayout()
harus menampilkan benar (true) selama pengambilan data -
Saat transisi
Fade
terputus dan dibalik,View
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 Pratinjau Android O.
IME_FLAG_NO_PERSONALIZED_LEARNING
: IME dapat mendeteksi 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 daftar lengkap perubahan API antara 25.2.0 dan 26.0.0-alpha1, lihat laporan perbedaan API support library.
Perbaikan bug
- Dalam beberapa kasus sederhana, animasi
AutoTransition
dapat terganggu oleh "lompatan" tampilan. (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
-
executePendingTransactions()
,commitNow()
,popBackStackImmediate()
, dan panggilan transaksi yang serupa tidak diizinkan selama perubahan statusFragmentManager
. Eksekusi reentrant transaksi tidak aman danFragmentManager
sekarang memberlakukan ini selama perubahan statusnya. - Bersamaan dengan rilis support library ini, kami juga merilis multidex versi 1.0.2. Versi ini mencakup perubahan penting berikut:
- Memungkinkan multidexing APK instrumentasi.
- Menghentikan penggunaan MultiDexTestRunner (sebagai gantinya, gunakan AndroidJUnitRunner).
- Memberikan perlindungan yang lebih baik dari manajemen ekstraksi arsip yang buruk pada aplikasi.
- Memperbaiki bug yang dapat menyebabkan file ditelantarkan untuk 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 (dinyatakan sebagai android:valueFrom
) ke jalur lainnya (dinyatakan sebagai android:valueTo
), untuk memberikan efek visual yang kompleks dan menarik. Path interpolation memungkinkan interpolator untuk AnimatedVectorDrawableCompat
ditentukan sebagai jalur (dinyatakan sebagai android:pathData
dalam XML interpolator).
Diffs API
Perbaikan masalah
- Pengecualian pointer null saat tersambung ke MediaBrowserServiceCompat
- MediaBrowserCompat.search() API tidak berfungsi (Masalah AOSP 262170)
- Callback onItemClicked BrowseFragment rusak di 25.3.0
- NullPointerException selagi melakukan scroll naik dan turun 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 otomatis ditambahkan ke AndroidManifest.xml
saat membuat aplikasi dari Gradle, sehingga mempermudah 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 dari versi mendatang dan sebaiknya developer meninggalkannya. Untuk informasi selengkapnya tentang cara meninggalkan API tertentu, pelajari dokumentasi API terkait.
ExifInterface
- Metode boolean
getLatLong(float[])
tidak digunakan lagi. Sebagai gantinya, gunakan metodegetLatLong()
baru, yang tidak mengambil argumen dan mengembalikandouble[]
. mediacompat
-
PlaybackStateCompat.Builder.setErrorMessage(CharSequence)
tidak digunakan lagi. Sebagai gantinya, gunakan metodesetErrorMessage(int, CharSequence)
baru, 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
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)
baru memudahkan penonaktifan animasi ikon pengalihan panel navigasi. customtabs
- Menambahkan dukungan untuk saluran pesan. Lihat referensi
CustomTabsService.requestPostMessageChannel()
danCustomTabsService.postMessage()
untuk selengkapnya. dynamic-animation
- Library animasi baru berbasis prinsip fisika yang menyediakan sekumpulan API untuk membuat animasi yang secara dinamis bereaksi terhadap masukan pengguna.
leanback-v17
- Menambahkan dukungan untuk latar belakang paralaks. Lihat referensi
Parallax
untuk selengkapnya. - Menambahkan widget
TimePicker
untuk memilih waktu di antarmuka TV. mediacompat
- Menambahkan fungsionalitas penelusuran. Lihat referensi
MediaBrowserCompat.search()
danMediaBrowserServiceCompat.onSearch()
untuk selengkapnya. - Menambahkan dukungan untuk mode acak dan ulangi. Lihat referensi
MediaSessionCompat.setRepeatMode()
dansetShuffleModeEnabled()
untuk selengkapnya.
Perbaikan masalah
StaggeredGridLayoutManager
memunculkanIllegalArgumentException
(Masalah AOSP 230295)- Prefetch
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 serius pada mediarouter di mana penggunaan perangkat A2DP dan API perutean media dapat mengakibatkan perangkat menjadi tidak responsif, sehingga harus di-reboot.
- Class
FragmentManager.FragmentLifecycleCallbacks
sekarang menjadi statis.
Perbaikan masalah
- Menampilkan presentasi slide dengan pencerminan layar menyebabkan perangkat terputus dari Wi-Fi
- Tombol media tidak menangani dengan tepat aplikasi media yang tidak terdaftar ke
setMediaButtonReceiver()
-
Error
VectorDrawable
pada 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 penampung tampilan (Masalah AOSP 225762)getAllowGeneratedReplies()
keliru menampilkan false untuk tindakan di dalamWearableExtender
Revisi 25.1.1
(Januari 2017)
Penting: Ada bug umum dalam 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 fragment kini dapat dioptimalkan di dalam dan di seluruh transaksi. Pengoptimalan operasi transaksi fragment dapat menghilangkan operasi yang melakukan pembatalan. Misalkan dua transaksi dieksekusi secara bersamaan: transaksi pertama menambahkan fragment A dan transaksi kedua mengganti fragment A dengan fragment B. Dalam kasus ini, operasi pertama mungkin dibatalkan, dan hanya fragment B yang ditambahkan. Itu berarti fragment A kemungkinan tidak mengalami siklus pembuatan/pemusnahan.
Efek samping dari pengoptimalan ini adalah fragment dapat mengalami perubahan status di luar urutan yang diharapkan. Misalkan transaksi pertama menambahkan fragment A, transaksi kedua menambahkan fragment B, lalu transaksi ketiga menghapus fragment A. Tanpa pengoptimalan, fragment B dapat mengharapkan bahwa selagi fragment B dibuat, fragment A juga akan ada karena fragment A hanya akan dihapus setelah fragment B ditambahkan. Dengan pengoptimalan, fragment B tidak dapat memastikan apakah fragment A akan ada selagi fragment B dibuat, karena pembuatan dan pemusnahan fragment A dapat dihapus melalui pengoptimalan.
Pengoptimalan ini dinonaktifkan secara default. Untuk mengaktifkan pengoptimalan, panggil
FragmentTransaction.setAllowOptimization(true)
. - Sekarang fragment 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 ditutup (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 lebar 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 "Screenshot" difokuskan ke bagian atas layar
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
mengalami error pada API 15 -
setActions()
padaonSubactionClicked()
rusak -
RecyclerView
mengalami error saat mendaur ulang beberapa penampung tampilan
Revisi 25.1.0
(Desember 2016)
Penting: Ada bug umum dalam 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 dalam daftar scroll horizontal) dapat memperoleh manfaat performa yang signifikan dengan memberi petunjuk kepada pengelola tata letak widgetRecyclerView
dalam tentang banyaknya item yang harus disiapkan sebelum di-scroll di layar. PanggilLinearLayoutManager.setInitialPrefetchItemCount(N)
, di mana N adalah jumlah tampilan yang terlihat per item dalam. Misalnya, jika daftar horizontal dalam menampilkan minimal tiga setengah tampilan item sekaligus, Anda dapat meningkatkan performa dengan memanggilLinearLayoutManager.setInitialPrefetchItemCount(4)
. Hal tersebut memungkinkanRecyclerView
untuk membuat semua tampilan yang relevan lebih awal, sementaraRecyclerView
luar di-scroll, yang akan mengurangi sendatan (stutter) selama scroll secara signifikan. FragmentActivity.setSupportMediaController()
danFragmentActivity.getSupportMediaController()
tidak digunakan lagi. Gunakan metodeMediaControllerCompat.setMediaController()
danMediaControllerCompat.getMediaController()
statis yang baru.- Saat klien menentukan warna widget melalui pewarnaan appcompat (misalnya
appcompat:buttonTint
), klien harus menyediakan semua status yang diperlukan (seperti “disabled”, “pressed”, dll.). Hal ini konsisten dengan penentuan warna widget saat menggunakan pewarnaan 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 direvisi agar aplikasi dapat menampilkan konten kustom.BaseTransientBottomBar
adalah class dasar baru yang mengekspos perilaku geser dan animasi umum.- Menambahkan paket leanback.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 preference v7. - Menambahkan class
ArraySet
ke support library v4. Class ini berkaitan dengan classArraySet
framework yang diperkenalkan dengan API level 23. RecyclerView
Penyempurnaan prefetching item RecyclerView:- Prefetch
RecyclerView
bertingkat memungkinkan prefetching konten dariRecyclerView
dalamRecyclerView
scroll lainnya, dengan API untuk mengontrol banyaknya prefetching yang dilakukan: - API ditambahkan untuk diimplementasikan oleh objek
LayoutManager
kustom agar dapat mengaktifkan prefetching selama scroll dan fling - Penyempurnaan pada prefetching untuk melakukan sebanyak mungkin operasi buat/ikat dalam waktu antar-frame
- Prefetch
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 support pref fragment 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 mewarnai
AnimatedVectorDrawableCompat
pada level API di bawah 24 - Library Leanback memicu error lint palsu
- Library palet menyebabkan kegagalan pengujian di setiap level API
RecyclerView
menggagalkan pengujian di LeanbackRecyclerView
mengalami error saat mendaur ulang penampung tampilan (Masalah AOSP 225762)Fragment.onDestroy()
tidak dipanggil untuk fragment di backstack- Scrim
CollapsingToolbarLayout
tidak ditarik saat diciutkan CoordinatorLayout.offsetChildByInset()
menampilkanIllegalArgumentException
- Item
RecyclerView
animasi melepaskanRecyclerView
dalam, mencegah prefetch mendatang - Item
RecyclerView
yang ditambahkan tidak dapat di-prefetch secara bertingkat - Data prefetch untuk item
RecyclerView
bertingkat dihapus selama tata letak pertama - Prefetch
RecyclerView
gagal jika dua peristiwa tarik sampai di posisi yang sama RecyclerView
harus mengatur tata letak secara spekulatif selagi RenderThread dirender- Resource warna yang dikonfigurasi untuk malam hari dan dikonversi menjadi Drawable tidak selalu dibersihkan dengan benar dari cache Resource
FloatingActionButton
: Setelan terprogram BackgroundTintList tidak berfungsi dengan baik (Masalah AOSP 227428)TextInputLayout
: Typeface tidak disetel untuk ErrorView (Masalah AOSP 227803)TextInputLayout
selalu melakukan fallback ke warna error cerah di bawah API 23 (Masalah AOSP 221992)FloatingActionButton
ditampilkan sebagai ditekan saat pointer menjauh
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 dihentikan penggunaannya ini akan dihapus di versi mendatang dan developer sebaiknya meninggalkannya. Untuk informasi selengkapnya tentang cara meninggalkan API tertentu, pelajari 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 pengalih sandi
TextInputLayout
sekarang 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 prefetch jika pengelola tata letak bernilai null.- Elevasi
BottomNavigationView
kini disetel dengan benar. (Masalah AOSP 226182) BottomNavigationView
mengalami error saat menambahkan item menu secara terprogram. (Masalah AOSP 225731)- Perbaikan atas compound drawable kiri+kanan
TextInputLayout
. (Masalah AOSP 225836) RecyclerView
mengalami error saat mendaur ulang penampung tampilan. (Masalah AOSP 225762)- Leanback: TalkBack sering memunculkan kata "null" di tampilan layar terpisah.
RecyclerView
: Masalah rendering di Android Studio. (Masalah AOSP 225753)BottomNavigationView
masih menampilkan item menu sebagai dipilih setelahonNavigationItemSelected()
mengembalikan 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
- Constructor
ContextCompat
dibuat dilindungi. Class ini tidak boleh dijadikan instance publik, tetapi dapat diperluas dengan library dukungan yang menargetkan level API yang lebih baru. - Constructor
ActivityCompat
dibuat dilindungi. Class ini tidak boleh dijadikan instance publik, tetapi dapat diperluas dengan library dukungan yang menargetkan level API yang lebih baru. getReferrer(Activity)
dibuat statis.-
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)
telah dihapus Setiap penerapan klien untuk 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 mencakup 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 antar-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 disematkan 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 menyelesaikan warna teks error. (Masalah AOSP 220305)BatchedCallback.onMoved()
memanggilBatchedCallback.onInserted()
. (Masalah AOSP 220309)TextInputLayout
mengganti 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 menayangkan versi sistem tersebut sekarang ditandai sebagai tidak digunakan lagi dan sebaiknya ditinggalkan. Class dan metode yang tidak digunakan lagi ini dapat dihapus dalam rilis mendatang.
Pemecahan Support Library v4
Dengan rilis ini, Support Library v4 dipecah 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
-
Menerapkan berbagai komponen terkait UI, seperti
ViewPager
,NestedScrollView
, danExploreByTouchHelper
. -
support-media-compat
-
Mem-backport bagian framework media, termasuk
MediaBrowser
danMediaSession
. -
support-fragment
-
Mem-backport framework fragment. Modul ini memiliki dependensi pada
support-compat
,support-core-utils
,support-core-ui
, dansupport-media-compat
.
Untuk kompatibilitas dengan versi sebelumnya, jika Anda mencantumkan support-v4
dalam skrip Gradle, APK Anda akan menyertakan semua modul ini. Namun, untuk mengurangi ukuran APK, sebaiknya cukup cantumkan modul spesifik yang diperlukan 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 akan ditetapkan ke mengaktifkan Aplikasi Instan, saat fitur tersebut tersedia. TextInputLayout
menambahkan dukungan untuk pengalihan 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 menggunakan
RemoteViews
di toolbar sekunder. MetodesetToolbarItem()
yang ada sekarang 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 sebuah ID resource, menggunakan metodegetDrawable()
baru.CoordinatorLayout
sekarang mendukung penentuan tampilan sisipan, dan menetapkan bahwa tampilan lainnya harus menghindari tampilan sisipan. Hal ini memungkinkan aplikasi untuk mereplikasi pola perilaku yang mirip dengan caraFloatingActionButton
menghindariSnackbar
, tetapi untuk turunan tampilan arbitrer mana saja. Untuk informasi selengkapnya, lihat dokumen 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 dipakai olehRecyclerView.Adapter
. -
RecyclerView.OnFlingListener
telah ditambahkan untuk mendukung perilaku kustom sebagai respons terhadap fling. ClassSnapHelper
menyediakan implementasi khusus untuk mengepaskan tampilan turunan, dan classLinearSnapHelper
memperluas implementasi ini untuk menyediakan perilaku pengepasan rata tengah yang mirip denganViewPager
. - Library Custom Tabs sekarang 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 menggunakan UI browser standar.
Perubahan perilaku
- Jika Anda menggunakan fungsionalitas siang/malam library appcompat, sekarang sistem otomatis membuat ulang aktivitas Anda setiap kali mode siang/malam berubah (entah karena waktu atau panggilan ke
AppCompatDelegate.setLocalNightMode()
). Snackbar
sekarang menggambar di belakang menu navigasi jika status baru transparan.
Library MediaRouter
Perangkat Bluetooth tidak lagi tercantum sebagai rute media. Perutean audio ke perangkat Bluetooth sekarang dikontrol sepenuhnya di 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 dalam 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 diganti 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 semua panggilan ke metode ini, sebaiknya 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 jikasetRefreshing(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 di rilis 24.1.0 yang memengaruhi ID resource yang digunakan bersama oleh beberapa support library. Masalah ini menyebabkan aplikasi yang bergantung pada support library yang menggunakan resource (seperti design dan appcompat) mengalami masalah akibat 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 untuk menetapkan bahwa sebuah tindakan harus ditampilkan secara inline bersama notifikasinya.- Memanggil
Fragment.setUserVisbileHint()
tidak lagi menyebabkan fragment menjadi dimulai jika petunjuk ditambahkan keFragmentTransaction
yang belum di-commit. Hal ini memengaruhi penggunaFragmentPagerAdapter
yang menggantisetUserVisbileHint()
dan mengasumsikan status siklus proses tertentu dari fragment tersebut setelah memanggilsuper.setUserVisibleHint()
. Untuk informasi selengkapnya, lihat halaman referensi untuk dokumentasiFragment.setUserVisbileHint()
.
Perbaikan masalah:
- TabLayout.setCustomView(null) menghasilkan NullPointerException (Masalah AOSP 214753)
- TabLayout keliru menyorot tab khusus (Masalah AOSP 214316)
- AppCompatTextHelper menggunakan array atribut yang salah diurutkan (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 perataan RTL (Masalah AOSP 213461)
- PagerTabStrip menghilang karena anotasi yang diwarisi tidak ada (Masalah AOSP 213359)
- Data binding memunculkan 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 berupa nilai yang 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 fungsionalitasMediaSession
dan tidak lagi memanggilsetMediaButtonReceiver()
secara otomatis
Catatan: Hanya
MediaBrowserServiceCompat
versi 24.0.0 yang kompatibel dengan versi Android mendatang setelah API 24. Jika Anda menggunakan versi sebelumnya, lakukan 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:
-
- Penyempurnaan
AppBarLayout
yang menangani elevasi menggunakanStateListAnimator
- Penyempurnaan
- Perubahan untuk library Leanback v17:
-
- Menambahkan
OnboardingFragment
untuk menyediakan alur sambutan dan penyiapan yang dijalankan pertama kali
- Menambahkan
- Perubahan untuk custom tabs:
-
- Menambahkan dukungan untuk menyediakan hierarki
RemoteViews
bagi toolbar sekunder - Menambahkan
CustomTabsClient.connectAndInitialize()
untuk pemanasan satu baris
- Menambahkan dukungan untuk menyediakan 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 di mana panel aplikasi tidak ditarik setelah di-scroll keluar layar. (Masalah 178037)
- Perubahan untuk library appcompat v7:
-
- Menambahkan metode
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
untuk mengaktifkan kembali penggunaan vector drawable pada objekDrawableContainer
di 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 di mana
TextInputLayout
tidak menghapus warna yang salah 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 di mana
- Perubahan untuk library Vector Drawable:
-
- Memperbaiki bug di mana
VectorDrawableCompat
tidak dirender dengan benar diTextView
pada API level 23. (Masalah 206227)
- Memperbaiki bug di mana
Revisi 23.3.0
April 2016
- Perubahan untuk Support Library v4:
-
- Menambahkan
AppLaunchChecker
untuk membantu melacak bagaimana aplikasi Anda dulunya diluncurkan oleh pengguna.hasStartedFromLauncher()
memungkinkan Anda mengetahui apakah dulunya pengguna meluncurkan aplikasi Anda dari layar utama, atau apakah aplikasi itu diluncurkan dengan cara lain (misalnya untuk melihat URL web tertentu). - Memperbaiki kebocoran memori di
MediaBrowserServiceCompat.mConnections
. (Masalah 205220) - Memperbaiki masalah di mana
ViewPager
tidak memperhitungkan margin halaman saat membalik halaman. (Masalah 203816) Fragment.onRequestPermissionsResult()
sekarang dikirim ke fragment 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 di mana
PreferenceFragmentCompat
akan mengalami error jikadividerHeight
ditentukan. (Masalah 204778)
- Memperbaiki masalah di mana
- Perubahan untuk library recyclerview v7:
-
- Memperbaiki bug di mana
RecyclerView
tidak memanggil callback scroll jika rentang item yang terlihat menyusut. (Masalah 200987) - Memperbaiki bug di mana
RecyclerView
akan membeku (freeze) jika berada dalam tata letak linear, diberi pembobotan, dan berisi gambar. (Masalah 203276) - Memperbaiki error di
OrientationHelper.getStartAfterPadding()
. (Masalah 180521) - Memperbaiki error terkait penggunaan
android:nestedScrollingEnabled
. (Masalah 197932)
- Memperbaiki bug di mana
- Perubahan untuk Support Library Design:
-
- Memperbaiki bug di mana sheet tombol tersembunyi akan menangani peristiwa sentuh. (Masalah 203654)
- Memperbaiki masalah tata letak terkait
BottomSheetBehavior
saatfitsSystemWindows
bernilai true. (Masalah 203057) - Memperbaiki masalah aksesibilitas pada
Snackbar
. (Masalah 182145) - Memperbaiki error pada penggeseran
Snackbar
. (Masalah 203924) - Memperbaiki bug dalam
AppBarLayout
denganenterAlways
. (Masalah 203661) - Memperbaiki bug di mana
TextInputLayout
secara tidak perlu menghapus filter warna latar belakang objekEditText
. (Masalah 203357)
Revisi 23.2.1
Maret 2016
- Perubahan untuk Support Library v4:
-
- Memperbaiki pengecualian di
DrawableCompat.wrap()
danLayerDrawable
pada level API 17 hingga 19. (Masalah 201817) - Memperbaiki
ArrayIndexOutOfBoundsException
diViewDragHelper.shouldInterceptTouchEvent()
. (Masalah 182262) - Memperbaiki bug di
ViewPager
terkait penghitungan scroll untuk perubahan ukuran. - Memperbaiki
NullPointerException
saatDrawerLayout.removeDrawerListener()
dipanggil tanpaDrawerLayout.DrawerListener
yang ditetapkan. (Masalah 202478) - Memperbaiki bug di mana
ViewPager
tidak menetapkan parameterAccessibilityEvent
dengan benar saat di-scroll. - Memperbaiki masalah yang menyebabkan jeda selama rotasi perangkat saat menggunakan
Drawable.wrap()
. (Masalah 201924)
- Memperbaiki pengecualian di
- 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 di mana 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 di mana gaya
app:textAllCaps = "false"
tidak berfungsi. (Masalah 202117) - Memperbaiki error saat memulihkan
SearchView
. (Masalah 201836) - Memperbaiki kebocoran memori yang terjadi saat resource drawable pewarnaan menggunakan AppCompat. (Masalah 202379)
- Memperbaiki masalah terkait
KeyEvent
di level API 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 proses 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 terkait
GridLayout.onAddFocusables()
yang menyebabkan dipilihnya item yang salah. - Memperbaiki masalah terkait tindakan
GuidedStepFragment
yang menghilang setelah tindakan diciutkan.
- Memperbaiki masalah terkait
- Perubahan untuk Support Library Design:
-
- Memperbaiki error
TabLayout
akibat pengumpulan tab. (Masalah 201827) - Memperbaiki bug di
NavigationView
yang menyebabkan pemilihan warna yang salah. (Masalah 201951) - Memperbaiki bug di mana
setBackgroundTintList()
tidak dapat lagi mengubah warna latar belakang. (Masalah 201873) - Memperbaiki masalah di mana
AppBarLayout
tidak sepenuhnya di-scroll keluar tampilan jika digunakan denganandroid:fitsSystemWindows = “true”
. (Masalah 201822) - Memperbaiki masalah di mana
BottomSheetDialog
tidak menampilkan tampilan konten singkat dengan benar. (Masalah 201793) - Memperbaiki masalah di mana
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 2019
- 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. - Sekarang sistem memanggil
onActivityResult()
untukFragmentActivity
bertingkat.
- Menambahkan
- Perubahan untuk library AppCompat v7:
-
- Menambahkan fungsionalitas Mode Malam ke API level 14 dan yang lebih tinggi. Beralih antara Tema Terang dan Tema Gelap Desain Material 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
sekarang 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:
-
- Custom Tabs Chrome sekarang memungkinkan aplikasi untuk menyertakan panel bawah yang berisi tombol tindakan, selain tombol tindakan yang sudah ada di panel atas.
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 support library VectorDrawable:
-
- Class yang Ditambahkan:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- Menambahkan dukungan untuk aset
VectorDrawable
ke aplikasi yang berjalan di API level 7 atau yang lebih tinggi. AsetAnimatedVectorDrawable
juga didukung di API level 11 atau yang lebih tinggi. Aset vektor dapat jauh lebih kecil daripada aset gambar dan akan membantu mengurangi ukuran aplikasi dengan mengurangi banyaknya aset yang diperlukan untuk mendukung beberapa layar perangkat. - Library ini sekarang menjadi dependensi dari library AppCompat v7, yang memungkinkan developer dan AppCompat untuk menggunakan vector drawable dengan mudah. Untuk menggunakan
VectorDrawableCompat
di dalam sebuahImageButton
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 kapabilitas baru ke
GuidedStepFragment
, yang merupakan komponen yang memandu pengguna mengambil sebuah atau serangkaian keputusan: -
- Menambahkan tindakan tombol ke
GuidedAction
: GuidedStepFragment.setButtonActions()
: menetapkan daftar tombolGuidedAction
yang dapat dipilih pengguna dari tampilan Tindakan.- Kolom deskripsi kini dapat diedit:
-
GuidedAction.Builder.descriptionEditable()
: saat meneruskantrue
, menetapkan deskripsi tindakan ke dapat diedit.GuidedAction.getEditDescription()
: menampilkan deskripsi yang dapat diedit sebagaiCharSequence
.
- Menambahkan menu drop-down yang berisi sub-tindakan:
-
GuidedAction.setSubActions()
: menetapkan daftarGuidedAction
sebagai menu drop-down yang berisi 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 kapabilitas baru ke
- Perubahan untuk library RecyclerView v7:
-
RecyclerView
sekarang memiliki fitur keikutsertaan yang disebut AutoMeasure yang memungkinkanRecyclerView.LayoutManager
untuk menggabung konten atau menangani berbagai spesifikasi pengukuran yang disediakan oleh indukRecyclerView
dengan mudah. Fitur ini mendukung semua kapabilitas animasi yang ada diRecyclerView
.-
- Jika Anda menggunakan
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 menggunakan
- Saat memperbarui
RecyclerView.ViewHolder
dengan informasi payload,DefaultItemAnimator
sekarang menonaktifkan animasi perubahan. - Sekarang Anda dapat mengubah kecepatan escape
ItemTouchHelper
untuk mengontrol sensitivitas geser. Untuk mempermudah atau mempersulit gerakan geser, gantigetSwipeEscapeVelocity(float defaultValue)
dan ubahdefaultValue
.
Revisi 23.1.1
November 2015
- Perubahan untuk library recyclerview v7:
-
- Memperbaiki error yang terjadi saat Anda menjalankan tindakan geser-untuk-menutup yang disediakan oleh class utilitas
ItemTouchHelper
, lalu menambahkan item. (Masalah 190500)
- Memperbaiki error yang terjadi saat Anda menjalankan 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
. - Memperbaiki 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 ketika posisi scroll X atau Y berubah. - Menambahkan class
MediaButtonReceiver
untuk meneruskan kontrol pemutaran yang diterima ke layanan yang mengelola classMediaSessionCompat
. ClassMediaSessionCompat
memiliki constructor yang dapat otomatis menemukan penerima tombol media dalam manifes. Penerima tombol media adalah bagian penting dari penanganan 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 tinggi lebar 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 pada objekBitmap
.
- Menambahkan metode
- Perubahan untuk library recyclerview v7:
-
- Menambahkan API animasi yang disempurnakan 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 rekaman informasi baru memberikan fleksibilitas kepada class
ItemAnimator
untuk mengumpulkan data di titik yang benar dalam siklus proses tata letak. Informasi ini selanjutnya 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 semula. ClassSimpleItemAnimator
menyediakan API lama dengan menggabungkan API baru. - Beberapa metode dihapus dari class
ItemAnimator
. Kode berikut tidak akan lagi melakukan kompilasi:
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 disempurnakan 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. - Memperbarui class
GuidedStepFragment
sehingga dapat ditempatkan di atas konten yang sudah 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 dipaskan dan di-scroll ke tepi terdekatnya. - 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
. Hal ini memungkinkan klien untuk mengubah ikon tombol tindakan kustom di tab khusus 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 di mana tombol fisik tidak berfungsi ketika sebuah aktivitas telah menetapkan class
Toolbar
untuk berfungsi sebagaiActionBar
menggunakan metodesetSupportActionBar()
. (Masalah 183334) - Memperbarui class
AppCompatDialogFragment
sehingga tidak lagi memunculkan 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 ditarik 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 sebuah 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 hingga ditutup atau snackbar lain ditampilkan. Selain itu, menambahkan metodesetActionTextColor(int)
dansetActionTextColor(ColorStateList)
. - 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 aplikasi Anda sebagai tombol tindakan mengambang, yang mendukung ukuran default maupun ukuran mini. - Menambahkan
Snackbar
untuk memberikan reaksi ringan terhadap tindakan opsional di 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, untuk membuat dependensi antara tampilan yang setara dan memungkinkan reaksi scroll yang lancar antara beberapa komponen melaluiCoordinatorLayout.Behavior
. Banyak komponen library Design yang mengandalkan status sebagai turunanCoordinatorLayout
. - Menambahkan
AppBarLayout
, yang merupakan container untukToolbar
dan tampilan lainnya (sepertiTabLayout
), untuk bereaksi terhadap peristiwa scroll dengan melakukan scroll keluar layar, menjadi terlihat sebagai reaksi terhadap scroll ke bawah, atau menciutkan/membatalkan penciutan sebelum melakukan scroll keluar/memasuki layar. - Menambahkan
CollapsingToolbarLayout
untuk mengontrol penciutanToolbar
. Toolbar dapat menciut dengan: menyematkan komponen ke bagian atas layar selagi layar diciutkan, memasukkan scroll paralaks untuk komponen sepertiImageView
, atau menambahkan warna scrim konten saat tampilan diciutkan sebagian.
- Menambahkan
- Perubahan untuk support library v4:
-
- Menambahkan metode
getContentChangeTypes()
dansetContentChangeTypes()
serta kolom jenis perubahan yang terkait ke classAccessibilityEventCompat
untuk menangani peristiwa aksesibilitas. - Menambahkan metode
getActiveQueueItemId()
,getCustomActions()
, dangetExtras()
serta 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 mengambil 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.Metode
ViewPager.setOnPageChangeListener()
tidak digunakan lagi. - 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. Annotations ditambahkan sebagai tag metadata yang Anda lampirkan ke variabel, parameter, dan nilai kembalian untuk memeriksa nilai kembalian 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 pelacakan ke buffer pelacakan sistem, yang kemudian dapat dikumpulkan dan divisualisasikan menggunakan fitur 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 dalam class ini menjadi tidak final. - Menambahkan
InputDeviceCompat
sebagai class helper untuk mengakses data dalam classInputDeviceCompat
. - Menambahkan class
LayoutInflaterCompat
sebagai class helper untuk mengakses data di classLayoutInflaterCompat
dan menambahkan antarmukaLayoutInflaterFactory
. - Menambahkan class, metode, dan antarmuka untuk mendukung scroll bertingkat.
- Menambahkan class helper
NestedScrollingChildHelper
danNestedScrollingParentHelper
untuk menerapkan tampilan induk dan turunan scroll bertingkat. - Menambahkan antarmuka
NestedScrollingChild
yang akan diterapkan 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 scoll bertingkat baik pada Android versi baru maupun 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, invalidasi konten, dan label. - Menambahkan class interpolasi
FastOutLinearInInterpolator
,FastOutSlowInInterpolator
,LinearOutSlowInInterpolator
,LinearOutSlowInInterpolator
, danPathInterpolatorCompat
untuk animasi. - Menambahkan class
Space
untuk membuat celah di antara komponen dalam tata letak serbaguna. Class ini tidak digunakan lagi dalam library gridlayout. - Menambahkan class
TextViewCompat
untuk mengakses fitur diTextView
. - Menambahkan parameter perpindahan ke metode
onPull()
dalam classEdgeEffectCompat
.
- Menambahkan class
- Perubahan untuk library appcompat v7:
-
- Menambahkan dukungan pewarnaan untuk widget appcompat, termasuk
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
, danAppCompatTextView
. - Memperbarui
AppCompatActivity
sebagai class dasar untuk aktivitas yang menggunakan fitur action bar support library. Class ini menggantikanActionBarActivity
yang tidak digunakan lagi. - Menambahkan antarmuka
AppCompatCallback
yang akan diterapkan untuk AppCompat agar dapat menjalankan callback. - Menambahkan class abstrak
AppCompatDelegate
sebagai delegasi yang dapat Anda gunakan untuk memperluas dukungan AppCompat ke aktivitas apa pun. - Menambahkan class
AppCompatDialog
sebagai class dasar untuk dialog bertema AppCompat. - Menambahkan gaya spinner class
AlertDialog
danAlertDialog.Builder
untuk memberiAlertDialog
bertema AppCompat. - Menambahkan class
Palette.Builder
untuk menghasilkan instancePalette
.- Menambahkan metode
from(Bitmap)
ke classPalette
untuk mulai membuat Palet dengan instancePalette.Builder
yang dihasilkan. - Menghentikan penggunaan metode
Palette.generate()
danPalette.generateAsync()
.
- Menambahkan metode
- Menambahkan metode
getAbsoluteAlignment()
ke classGridLayout.Spec
. - Menghentikan penggunaan
app:theme
untuk penataan gayaToolbar
. Sekarang 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 pewarnaan 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 menjalankan pengubahan 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 atau tidak. - Menambahkan metode
getStatusBarBackgroundDrawable()
sehingga Anda dapat memperoleh drawable latar belakang status bar. - Menambahkan metode ke class
NotificationCompat.CarExtender.UnreadConversation
sehingga aplikasi messaging Android Auto dapat mengambil data notifikasi tambahan. - Menambahkan metode
getProgressCircleDiameter()
untuk menampilkan diameter tata letak lingkaran. - Mengubah warna status baru
DrawerLayout
default kecolorPrimaryDark
.
- Memperbarui metode
- Perubahan untuk library appcompat v7:
-
- Menambahkan gaya spinner
Base_Widget_AppCompat_Spinner_Underlined
. - Menambahkan gaya widget warna dengan
Widget_AppCompat_AutoCompleteTextView
,MultiAutoCompleteTextView
,TextAppearance_AppCompat_Button
, danBase_Widget_AppCompat_RatingBar
.
- Menambahkan gaya spinner
- Perubahan untuk library leanback v17:
-
- Menambahkan metode
getRecycledPoolSize()
dansetRecycledPoolSize()
untuk mendukung ukuran kumpulan yang didaur ulang dan 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
danDetailsFragment
. - 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 memperbaiki 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 constructor
PopupMenu
untuk mendukung menu pop-up baru. - Menambahkan dukungan untuk deskripsi ikon Ciutkan di class
Toolbar
. - Memperbarui widget
SearchView
untuk mendukung penayangancommitIcon
. - Menghapus atribut
buttonGravity
dari classToolbar
.
- Menambahkan constructor
- 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 slop sentuh untuk paging.
- Menambahkan konstanta
- Perubahan untuk library leanback v17:
-
- Menambahkan dukungan untuk menghasilkan fragment 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
ke perangkat yang menjalankan Android 5.0 (API level 21). Perhatikan bahwa transisi tidak berpengaruh pada perangkat yang menjalankan Android 4.4 dan yang lebih rendah. - Menambahkan
DocumentFile
untuk memudahkan transisi dariFile
selagi menangani hierarki dokumen. Namun, class ini memerlukan overhead pemrosesan yang lebih besar dibandingDocumentsContract
API platform yang ditambahkan di Android 4.4 (API level 19). Jadi, sebaiknya Anda beralih keDocumentsContract
saat menggunakan perangkat yang menjalankan Android 4.4 dan yang lebih tinggi.
- Menambahkan dukungan untuk transisi
- Perubahan untuk library appcompat v7:
-
- Menambahkan 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 - Memperbarui widget antarmuka pengguna umum agar dapat mendukung pewarnaan melalui atribut tema saat berjalan di perangkat sebelum Android 5.0
- Menambahkan
SwitchCompat
, backport untuk 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 memberikan 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:
-
- Menambahkan dukungan notifikasi yang diperluas untuk Android Wear di
NotificationCompat.WearableExtender
, yang memungkinkan Anda menentukan fitur khusus wearable di notifikasi. - Menambahkan
NotificationCompat.Action.WearableExtender
, yang memungkinkan tindakan untuk ditambahkan di notifikasi wearable. - Menambahkan
NotificationManagerCompat
, yang memungkinkan Anda membuat notifikasi yang mendukung fitur wearable dengan tepat. - Menambahkan
RemoteInput
, yang memungkinkan perangkat genggam menerima input suara dari notifikasi yang muncul di perangkat wearable. - Menyempurnakan penanganan reaksi sentuhan di
SwipeRefreshLayout
.
- Menambahkan dukungan notifikasi yang diperluas untuk Android Wear di
- Perubahan untuk support library v4:
-
- Menambahkan class
SwipeRefreshLayout
, yang memungkinkan pengguna me-refresh 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:
-
- Menyempurnakan
PrintHelper
dengan menambahkan penanganan asinkron untuk pencetakan. - Memperbaiki aproksimasi class
DrawerLayout
untuk metodeaddChildrenForAccessibility()
. - Memperbaiki pencerminan slide drawable di
ActionBarDrawerToggle
. - Memperbaiki masalah off-by-one saat menghapus item dari iterator koleksi.
- Menyempurnakan
- 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 mengembalikan objek file tunggal di perangkat yang menjalankan Android 4.3 (API level 18) dan yang lebih lama. Saat berjalan di Android 4.4 (API level 19) dan yang lebih tinggi, metode ini dapat mengembalikan lebih dari satu objek file. - Menambahkan class
PrintHelper
yang berfungsi dengan Print API untuk mencetak gambar dengan kode yang minim. - 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 terkait
ActionBarDrawerToggle
dalam tampilan bahasa 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 mulai, dapatkan, dan akhiri sesi yang 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 format kanan ke kiri dengan kiri ke kanan. - Memodifikasi
ViewPager
agar lebih baik dalam menangani kasus di mana pager memiliki lebar terukur nol dalam pemrosesan tata letak awal. - Memodifikasi
DrawerLayout
danSlidingPaneLayout
agar tidak memunculkan pengecualian untuk pengukuran selagi kode project sedang diedit.
- Menambahkan
- Aksesibilitas
- Menambahkan
ExploreByTouchHelper
untuk menyederhanakan implementasi aksesibilitas tampilan kustom. - Memperbaiki masalah terkait
ViewPager
yang keliru mengisi peristiwa aksesibilitasTYPE_VIEW_SCROLLED
. - Memperbaiki pengecualian pointer null di
ViewPager
saat mengisi peristiwa aksesibilitas. - Menyederhanakan
AccessibilityNodeInfoCompat
dengan mengubah inputCharSequence
menjadi objekString
. - Menghentikan penggunaan constructor
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 layar perangkat.
- Menambahkan class helper
- Perubahan lainnya
- Menambahkan class helper
WakefulBroadcastReceiver
untuk menerapkan pola umum dalam mendeteksi peristiwa perangkat terbangun (wakeup) dan mengalihkan tugas keService
sambil memastikan bahwa perangkat tidak kembali tertidur sebelum pengalihan selesai. - Menambahkan dua API baru,
commitContentChanged()
danrollbackContentChanged()
, keAsyncTaskLoader
untuk membantu menangani update di 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 hingga ke Android 2.1 (API level 7) dan yang lebih tinggi. Untuk menggunakan class ini, Anda harus menerapkan 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 yang sedang aktif ke layar eksternal, speaker, dan perangkat tujuan lainnya, dengan kompatibilitas mundur hingga 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. Untuk saat ini, sebaiknya gunakan library ini hanya dalam kaitannya dengan pratinjau developer Google Cast.
- Perubahan untuk support library v4:
-
- Menambahkan
DrawerLayout
untuk membuat Panel Samping Navigasi yang dapat ditarik masuk dari tepi jendela. - Menambahkan widget
SlidingPaneLayout
untuk membuat tampilan ringkas dan detail tertaut yang dapat menyesuaikan dengan berbagai ukuran layar. - Menambahkan
ActionBarDrawerToggle
sebagai cara untuk menggabungkan fungsiDrawerLayout
danActionBar
bersama-sama. - Menambahkan
ViewDragHelper
sebagai komponen umum baru untuk menarik tampilan di dalam tampilan induk. - Menambahkan
ScrollerCompat
untuk memberikan dukungan kompatibilitasScroller
danOverScroller
. - Menambahkan
FileProvider
untuk mengizinkan berbagi file pribadi antar-aplikasi. - Memperbarui
ViewPager
agar memunculkan pengecualian jika classPagerAdapter
yang terkait diubah tanpa panggilan kenotifyDataSetChanged()
. - Memperbaiki masalah terkait urutan penyortiran gambar turunan
ViewPager
. - Memperbaiki
GestureDetectorCompat
untuk mengirim panggilanonSingleTapConfirmed(MotionEvent)
yang terlewat 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 di 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 pengaturan tata letak untukViewPager
. - Memperbaiki masalah terkait
SearchViewCompat
di mana penggunaan tombol kembali untuk menutup tidak menghapus teks penelusuran. Perbaikan ini hanya berlaku pada 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 penyempurnaan ke proses debug
FragmentManager
. - Memperbaiki masalah di
FragmentTabHost
di mana interaksi tab dan fragment dapat mengakibatkan hilangnya statusListView
. - Memperbaiki masalah terkait petunjuk yang terlihat oleh pengguna di
FragmentStatePagerAdapter
. - Menambahkan antarmuka
PageTransformer
keViewPager
agar aplikasi dapat 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 kedipan tampilan, pengaturan posisi, dan pemangkasan teks dengan
PagerTitleStrip
. - Memperbaiki
PagerTabStrip
untuk mematuhi padding dengan tepat 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 atomic 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:
-
- Menambahkan dukungan untuk fitur notifikasi yang diperkenalkan di Android 4.1 (API level 16) dengan penambahan ke
NotificationCompat
.
- Menambahkan dukungan untuk fitur notifikasi yang diperkenalkan di Android 4.1 (API level 16) dengan penambahan ke
- Perubahan untuk support library v4:
-
- Dukungan Antarmuka Pengguna
- Menambahkan dukungan
PagerTabStrip
, menyediakan fungsionalitas yang lebih baik di luarPagerTitleStrip
. - Memperbaiki berbagai bug untuk
PagerTitleStrip
danPagerTabStrip
, termasuk opsisetAllCaps
, perataan judul, penyempurnaan 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, pengaturan posisi halaman, interaksi pengguna, pelacakan scroll, dan masalah navigasi keyboard. - Memperbaiki berbagai bug untuk
Fragment
, termasuk penanganan yang tepat atasonActivityResult()
saat fragment target tidak ada lagi, pengiriman peristiwa pemilihan ke fragment yang tak terlihat, penyempurnaan perilakuFragmentTransaction.replace()
, dan penambahan penanganan status yang lebih baik untuk fragment yang sedang dipindahkan ke luar tampilan. - Menambahkan dukungan untuk metode
postOnAnimation()
diViewCompat
. - Memperbarui
NavUtils
agar menggunakan fungsionalitas navigasi Naik di Android 4.1 (API level 16) jika tersedia.
- Menambahkan dukungan
- Aksesibilitas
- Memperbarui 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
.
- Memperbarui class dukungan aksesibilitas, termasuk
- Penyempurnaan umum
- Memperbarui
TaskStackBuilder
untuk mencerminkan perubahan API di Android 4.1 (API level 16). - Menyempurnakan
TaskStackBuilder
agar dapat digunakan dari Layanan. - Menambahkan dukungan untuk
EXTRA_HTML_TEXT
keShareCompat
. - Memperbarui
NotificationCompat.Builder
untuk mendukung metodesetNumber()
. - Menambahkan dukungan di
ConnectivityManagerCompat
untuk metodeisActiveNetworkMetered()
.
- Memperbarui
- Dukungan Antarmuka Pengguna
- Perubahan untuk support library v4:
-
- Memperbaiki flag intent untuk objek
PendingIntent
yang dihasilkan olehTaskStackBuilder
. - Menghapus atribut yang tidak terpakai 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 di 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
untuk memberikan dukungan bagi implementasi pedoman Desain Android untuk navigasi. Penambahan ini mencakup cara mengimplementasikan tombol Naik pada panel tindakan di seluruh versi. Untuk contoh penerapan pola ini, lihat contoh AppNavigation di (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
). - Menambahkan
NotificationCompat.Builder
untuk mendukung 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 dan gravitasi tata letak. - Memperbarui metode
PagerAdapter
untuk menerima objek ViewGroup, bukan View, guna menghindari transmisi class dalam implementasi adaptor. - Memperbarui
ViewPager
untuk menggunakan perilaku fling gaya 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 API Aksesibilitas:
- Memperbarui metode
AccessibilityDelegateCompat
agar 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 API Aksesibilitas:
- 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
- Menambahkan dukungan untuk mengontrol banyaknya halaman yang dipertahankan ke salah satu sisi halaman saat ini.
- Menyempurnakan fisika sentuhan.
- Perbaikan bug untuk perilaku antarmuka pengguna.
- Menambahkan dukungan untuk margin antar-halaman.
- Dukungan untuk API Aksesibilitas:
- Perubahan untuk support library v4:
-
- Menambahkan
EdgeEffectCompat
untuk mendukungEdgeEffect
. - Menambahkan
LocalBroadcastManager
agar aplikasi dapat mendaftarkan dan menerima intent dalam satu aplikasi dengan mudah, 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 (tersedia hanya di support library) yang memungkinkan Anda membuat UI dengan paging horizontal, sehingga pengguna dapat menggeser ke kiri dan ke kanan di antara tampilan konten. Class yang mendukung ini meliputi:
ViewPager
:ViewGroup
yang mengelola tata letak tampilan turunan, di mana pengguna dapat menggeser di antara tampilan tersebut.PagerAdapter
: Adaptor yang mengisiViewPager
dengan tampilan yang mewakili setiap halaman.FragmentPagerAdapter
: EkstensiPagerAdapter
untuk membalik di antara fragment.FragmentStatePagerAdapter
: EkstensiPagerAdapter
untuk membalik di antara fragment yang menggunakan dukungan library untukFragment.SavedState
.
- Menambahkan dukungan untuk
- Support library v13 baru:
-
- Menyertakan
FragmentPagerAdapter
danFragmentStatePagerAdapter
untuk mendukung paging horizontal.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 sekarang tersedia bersama 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.