Bergabunglah bersama kami di ⁠#Android11: The Beta Launch Show pada tanggal 3 Juni!

Arsip Revisi Support Library

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

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() dan FragmentActivity.getSupportMediaController() telah dihapus. Gunakan metode MediaControllerCompat.setMediaController() dan MediaControllerCompat.getMediaController() statis yang baru.
  • BottomNavigationView sekarang memanggil onNavigationItemReselected() jika item yang telah dipilih ternyata dipilih kembali, bukannya memanggil onNavigationItemSelected().
  • Semua instance metode findViewById() sekarang menampilkan <T extends View> T, bukan View. Perubahan ini memiliki implikasi berikut:
    • Perubahan ini dapat mengakibatkan kode yang telah ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya someMethod(View) dan someMethod(TextView) sama-sama ada dan mengambil hasil panggilan ke findViewById().
    • Saat bahasa sumber Java 8 digunakan, transmisi eksplisit ke View diperlukan jika jenis nilai yang ditampilkan tidak dibatasi (misalnya assertNotNull(findViewById(...)).someViewMethod()).
    • Penggantian metode findViewById() yang belum final (misalnya Activity.findViewById()) akan memerlukan pembaruan jenis nilai yang ditampilkan.

API baru

  • FragmentManager dan Fragment memiliki metode isStateSaved() yang memungkinkan pengiriman kueri tentang apakah transaksi diizinkan tanpa kehilangan status atau tidak. Hal ini perlu diperiksa terutama saat menangani peristiwa onClick() 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 sebagai android: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 maupun FlingAnimation sekarang dapat menganimasikan nilai float tanpa mengharuskan pengaitan View atau Object 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 dengan TextView.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: dan android:.)
  • 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 memproses CharSequence tertentu dan menambahkan EmojiSpans.
    • 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 di TextView.
  • Kontrol pemutaran Leanback dengan dukungan pencarian:
    • PlaybackTransportRowPresenter baru yang merender kontrol pemutaran dengan SeekBar.
    • PlaybackTransportControlGlue baru yang berfungsi dengan PlaybackTransportRowPresenter dan mendukung pencarian.
    • Class dasar PlaybackSeekDataProvider baru agar aplikasi menyediakan thumbnail pencarian untuk PlaybackTransportControlGlue.
  • Preferences Data Store:
    • PreferenceDataStore kini memungkinkan Anda menerapkan penyimpanan preferensi sendiri, yang ditetapkan dengan metode baru di Preference dan PreferenceManager.

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 awal View (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 status FragmentManager. Eksekusi reentrant transaksi tidak aman dan FragmentManager 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 metode getLatLong() baru, yang tidak mengambil argumen dan mengembalikan double[].
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) tidak digunakan lagi. Sebagai gantinya, gunakan metode setErrorMessage(int, CharSequence) baru, yang menerima kode error dan deskripsi opsional.
EXTRA_SUGGESTION_KEYWORDS tidak digunakan lagi. Sebagai gantinya, gunakan fungsionalitas penelusuran MediaBrowserCompat.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() diganti namanya menjadi LinearLayoutManager.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() dan CustomTabsService.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() dan MediaBrowserServiceCompat.onSearch() untuk selengkapnya.
Menambahkan dukungan untuk mode acak dan ulangi. Lihat referensi MediaSessionCompat.setRepeatMode() dan setShuffleModeEnabled() untuk selengkapnya.

Perbaikan masalah

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 dalam WearableExtender

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() dan Fragment.startPostponedEnterTransition(). API ini mirip dengan Activity.postponeEnterTransition() dan Activity.startPostponedEnterTransition() yang digunakan dengan Transisi Aktivitas.

Perbaikan masalah

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 widget RecyclerView dalam tentang banyaknya item yang harus disiapkan sebelum di-scroll di layar. Panggil LinearLayoutManager.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 memanggil LinearLayoutManager.setInitialPrefetchItemCount(4). Hal tersebut memungkinkan RecyclerView untuk membuat semua tampilan yang relevan lebih awal, sementara RecyclerView luar di-scroll, yang akan mengurangi sendatan (stutter) selama scroll secara signifikan.
  • FragmentActivity.setSupportMediaController() dan FragmentActivity.getSupportMediaController() tidak digunakan lagi. Gunakan metode MediaControllerCompat.setMediaController() dan MediaControllerCompat.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

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 memanggil requestPermission() saat seharusnya memanggil releasePermission().
  • 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 Leanback
  • RecyclerView 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() menampilkan IllegalArgumentException
  • Item RecyclerView animasi melepaskan RecyclerView 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.

Revisi 25.0.1

(November 2016)

Perbaikan masalah

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 metode fromMediaSession() yang penamaannya lebih tepat.
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) telah dihapus Penggunaannya harus diganti dengan metode MediaSessionCompat.QueueItem#fromQueueItem yang penamaannya lebih tepat.
  • android.support.v7.widget.Space telah dihapus Penggunaan harus diganti dengan android.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 fitur android.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 dan DecoratedMediaCustomViewStyle, 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:

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() dan View.performAccessibilityAction().
support-core-utils
Menyediakan sejumlah class utilitas, seperti AsyncTaskLoader dan PermissionChecker.
support-core-ui
Menerapkan berbagai komponen terkait UI, seperti ViewPager, NestedScrollView, dan ExploreByTouchHelper.
support-media-compat
Mem-backport bagian framework media, termasuk MediaBrowser dan MediaSession.
support-fragment
Mem-backport framework fragment. Modul ini memiliki dependensi pada support-compat, support-core-utils, support-core-ui, dan support-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

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 dengan KeyEvent
    • android.support.v4.view.MotionEventCompat: Gunakan MotionEvent
    • android.support.v4.view.ViewCompat: Gunakan View
    • android.support.v4.view.ViewConfigurationCompat: Gunakan ViewConfiguration
  • AccessibilityServiceInfoCompat.getDescription() tidak digunakan lagi dan diganti dengan AccessibilityServiceInfoCompat.loadDescription(), yang menampilkan deskripsi yang dilokalkan dengan benar.
  • Sebaiknya Anda tidak membuat instance class ActivityCompat secara langsung. Metode getReferrer(Activity) non-statis akan dijadikan statis dalam rilis mendatang.
  • CoordinatorLayout.Behavior.isDirty() tidak digunakan lagi dan tidak lagi dipanggil oleh CoordinatorLayout. Semua implementasi, dan juga semua panggilan ke metode ini, sebaiknya dihapus.
  • MediaSessionCompat.obtain() tidak digunakan lagi dan diganti dengan metode fromMediaSession() yang penamaannya lebih tepat.
  • MediaSessionCompat.QueueItem.obtain() tidak digunakan lagi dan diganti dengan metode fromQueueItem() yang penamaannya lebih tepat.
  • Beberapa class abstrak tidak digunakan lagi dan diganti dengan antarmuka yang mencerminkan ekuivalensi framework-nya secara lebih akurat.
  • CustomTabsSession.setToolbarItem() tidak digunakan lagi dan diganti dengan setSecondaryToolbarViews() berbasis RemoteViews.

Perbaikan bug

Masalah umum berikut telah diperbaiki melalui rilis 24.2.0:

  • Memastikan indikator SwipeRefreshLayout ditampilkan jika setRefreshing(true) dipanggil sebelum pengukuran pertama diteruskan Masalah AOSP 77712 )
  • Mencegah TabLayout berkedip saat berganti halaman (Masalah AOSP 180454)
  • Menghindari ClassNotFoundException saat membatalkan marshalling SavedState 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:

Perbaikan masalah:

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() dan getImportance()
  • MediaSessionCompat sekarang mencerminkan fungsionalitas MediaSession dan tidak lagi memanggil setMediaButtonReceiver() 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.

Perubahan untuk library appcompat v7:
  • Menambahkan dukungan untuk mereferensikan objek ColorStateList bertema dari XML
Perubahan untuk Support Library Design:
Perubahan untuk library Leanback v17:
  • Menambahkan OnboardingFragment untuk menyediakan alur sambutan dan penyiapan yang dijalankan pertama kali
Perubahan untuk custom tabs:
  • Menambahkan dukungan untuk menyediakan hierarki RemoteViews bagi toolbar sekunder
  • Menambahkan CustomTabsClient.connectAndInitialize() untuk pemanasan satu baris

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:
Perubahan untuk Support Library Design:
Perubahan untuk library Vector Drawable:

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.
Perubahan untuk library appcompat v7:
Perubahan untuk library mediarouter v7:
Perubahan untuk library Preference v7:
Perubahan untuk library recyclerview v7:
Perubahan untuk Support Library Design:

Revisi 23.2.1

Maret 2016

Perubahan untuk Support Library v4:
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)
Perubahan untuk library cardview v7:
Perubahan untuk library recyclerview v7:
Perubahan untuk library mediarouter v7:
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.
Perubahan untuk Support Library Design:
Perubahan untuk VectorDrawableCompat:
  • Memperbaiki bug di mana variabel yang salah dibaca untuk android:tintMode. (Masalah 201907)

Revisi 23.2.0

Februari 2019

Perubahan untuk Support library v4:
  • Menambahkan MediaBrowserCompat untuk dukungan MediaBrowser, dan MediaBrowserServiceCompat untuk dukungan MediaBrowserService. 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() untuk FragmentActivity bertingkat.
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.
Perubahan untuk library mediarouter v7:
Perubahan untuk Support library Design:
  • Menambahkan dukungan untuk sheet bawah. Plugin interaksi, BottomSheetBehavior, memungkinkan tampilan turunan CoordinatorLayout untuk berfungsi sebagai sheet bawah. Class dasar, BottomSheetCallback, menyediakan callback untuk memantau peristiwa sheet bawah.
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. Aset AnimatedVectorDrawable 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 sebuah ImageButton atau ImageView, gunakan atribut XML app:srcCompat atau metode setImageResource().
  • Untuk terus mereferensikan ID atribut di API level 20 atau yang lebih rendah, tambahkan flag appt berikut ke file build,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
            }
          }
          
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 tombol GuidedAction yang dapat dipilih pengguna dari tampilan Tindakan.
    • Kolom deskripsi kini dapat diedit:
      • GuidedAction.Builder.descriptionEditable(): saat meneruskan true, menetapkan deskripsi tindakan ke dapat diedit.
      • GuidedAction.getEditDescription(): menampilkan deskripsi yang dapat diedit sebagai CharSequence.
    • Menambahkan menu drop-down yang berisi sub-tindakan:
      • GuidedAction.setSubActions(): menetapkan daftar GuidedAction sebagai menu drop-down yang berisi sub-tindakan.
  • Menambahkan widget GuidedDatePickerAction untuk fungsionalitas DatePicker:
    • Tanggal dipilih menggunakan kolom tahun, bulan, dan hari, serta memiliki rentang yang dapat disesuaikan.
    • GuidedDatePickerAction.Builder: class builder untuk objek GuidedDatePickerAction.
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): menetapkan format tanggal yang diinginkan dengan meneruskan String tiga karakter yang sesuai, misalnya “YMD” atau “MDY”. Atau, gunakan atribut XML datePickerFormat.
Perubahan untuk library RecyclerView v7:
  • RecyclerView sekarang memiliki fitur keikutsertaan yang disebut AutoMeasure yang memungkinkan RecyclerView.LayoutManager untuk menggabung konten atau menangani berbagai spesifikasi pengukuran yang disediakan oleh induk RecyclerView dengan mudah. Fitur ini mendukung semua kapabilitas animasi yang ada di RecyclerView.
    • Jika Anda menggunakan RecyclerView.LayoutManager kustom, panggil setAutoMeasureEnabled(true) untuk mulai menggunakan AutoMeasure API yang baru. Semua objek RecyclerView.LayoutManager bawaan secara default mendukung pengukuran otomatis.
    • RecyclerView.LayoutManager tidak lagi mengabaikan beberapa setelan RecyclerView.LayoutParams, seperti MATCH_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.

  • 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, ganti getSwipeEscapeVelocity(float defaultValue) dan ubah defaultValue.

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)
Perubahan untuk library preference v7:
Perubahan untuk Support library Leanback v17:
  • Memperbaiki sejumlah masalah internal di library ini.
Perubahan untuk Support library Design:
  • Menambahkan metode getHeaderView ke class NavigationView.
  • Memperbaiki masalah latar belakang transparan untuk objek FloatingActionButton di perangkat yang menjalankan Android 4.0 (API level 15) dan yang lebih rendah. (Masalah 183315)

Revisi 23.1.0

Oktober 2015

Perubahan untuk Support library v4:
  • Menambahkan dukungan antarmuka OnScrollChangedListener ke widget NestedScrollView. 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 class MediaSessionCompat. Class MediaSessionCompat 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.
Perubahan untuk library appcompat v7:
  • Menambahkan desain material Seekbar dan widget ImageButton.
  • Memperbarui widget ImageView untuk mendukung fitur warna.
  • Memperbarui tampilan dan nuansa widget SwitchCompat.
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.
Perubahan untuk library palet v7:
  • Menambahkan metode setRegion() untuk mendukung ekstraksi warna dari wilayah tertentu pada objek Bitmap.
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, objek ItemAnimator memutuskan apakah ingin menggunakan kembali objek ViewHolder 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 menjadi SimpleItemAnimator dan kode Anda akan berfungsi seperti semula. Class SimpleItemAnimator 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);
          }
          
Perubahan untuk Support Library Preference v7, v14, dan v17:
  • Menghapus API untuk mengontrol dialog EditText.
Perubahan untuk Support library Leanback v17:
  • Menambahkan versi class GuidedStepFragment untuk Support library (memperluas android.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.
Perubahan untuk Support library Design:
  • Menambahkan dukungan penghitungan karakter ke widget TextInputLayout.
  • Menambahkan dukungan pengepasan tepi ke class AppBarLayout dengan menambahkan konstanta SCROLL_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 atribut app:actionLayout atau metode MenuItemCompat.setActionView().
Perubahan untuk Support library Custom Tabs:
  • Menambahkan metode enableUrlBarHiding() ke class CustomTabsIntent. Hal ini memungkinkan klien untuk menyesuaikan apakah kolom URL akan otomatis disembunyikan saat di-scroll ke bawah.
  • Menambahkan metode setActionButton() ke class CustomTabsSession. Hal ini memungkinkan klien untuk mengubah ikon tombol tindakan kustom di tab khusus yang sudah diluncurkan.
  • Menambahkan konstanta TAB_SHOWN dan TAB_HIDDEN sebagai peristiwa baru untuk metode onNavigationEvent dari class CustomTabsCallback.

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 sebagai ActionBar menggunakan metode setSupportActionBar(). (Masalah 183334)
  • Memperbarui class AppCompatDialogFragment sehingga tidak lagi memunculkan error Windows feature must be requested before adding content. (Masalah 183186)
Perubahan untuk Support library Design:
Perubahan untuk Support library Custom Tabs:

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() dan show() ke class FloatingActionButton untuk pemicuan animasi secara terprogram.
  • Menambahkan konstanta LENGTH_INDEFINITE ke class Snackbar untuk menampilkan snackbar hingga ditutup atau snackbar lain ditampilkan. Selain itu, menambahkan metode setActionTextColor(int) dan setActionTextColor(ColorStateList).
  • Menambahkan metode getSelectedTabPosition() ke class TabLayout 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.

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 petunjuk EditText 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 dengan ViewPager.
  • 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 melalui CoordinatorLayout.Behavior. Banyak komponen library Design yang mengandalkan status sebagai turunan CoordinatorLayout.
  • Menambahkan AppBarLayout, yang merupakan container untuk Toolbar dan tampilan lainnya (seperti TabLayout), 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 penciutan Toolbar. Toolbar dapat menciut dengan: menyematkan komponen ke bagian atas layar selagi layar diciutkan, memasukkan scroll paralaks untuk komponen seperti ImageView, atau menambahkan warna scrim konten saat tampilan diciutkan sebagian.
Perubahan untuk support library v4:
Perubahan untuk library appcompat v7:

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:
Perubahan untuk library appcompat v7:
Perubahan untuk library leanback v17:
Perubahan untuk library recyclerview v7:
Perubahan untuk library RenderScript v8:

Revisi 22

Maret 2015

Perubahan untuk support library v4:
Perubahan untuk library appcompat v7:
Perubahan untuk library leanback v17:
Perubahan untuk library mediarouter v7:
Perubahan untuk library recyclerview v7:

Revisi 21.0.3

Desember 2014

Perubahan untuk support library v4:

Revision 21.0.2

November 2014

Perubahan untuk support library v4:
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 penayangan commitIcon.
  • Menghapus atribut buttonGravity dari class Toolbar.
Perubahan untuk library cardview v7:
Perubahan untuk library recyclerview v7:
Perubahan untuk library leanback v17:
  • Menambahkan dukungan untuk menghasilkan fragment kode v4.
  • Mengubah warna teks sekunder di CardView.

Revisi 21.0.1

November 2014

Menambahkan support library multidex guna mendukung beberapa file Dalvik Executable (DEX) untuk dukungan file multidex sebelum Android 5.0.

Revisi 21

Oktober 2014

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 dari File selagi menangani hierarki dokumen. Namun, class ini memerlukan overhead pemrosesan yang lebih besar dibanding DocumentsContract API platform yang ditambahkan di Android 4.4 (API level 19). Jadi, sebaiknya Anda beralih ke DocumentsContract saat menggunakan perangkat yang menjalankan Android 4.4 dan yang lebih tinggi.
Perubahan untuk library appcompat v7:
  • Menambahkan dukungan untuk antarmuka pengguna desain material.
  • Menambahkan Toolbar, yang menggeneralisasi fungsionalitas ActionBar 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 widget Switch 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.
Library recyclerview v7 baru:
  • Menambahkan widget RecyclerView, yang menyediakan tampilan daftar fleksibel untuk memberikan jendela terbatas ke set data yang besar.
Library palet v7 baru:
  • Menambahkan class Palette, yang memungkinkan Anda mengekstrak warna yang menonjol dari sebuah gambar.
Library leanback v17 baru:

Revisi 20

Juli 2014

Perubahan untuk support library v4:

Revisi 19.1.0

Maret 2014

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.
Perubahan untuk library appcompat v7:
  • Memperbaiki masalah latar belakang terkait panel tindakan.

Revisi 19.0.1

Desember 2013

Perubahan untuk support library v4:
Perubahan untuk library mediarouter v7:
Perubahan untuk library RenderScript v8
  • Menambahkan penyebaran error untuk lapisan thunking RenderScript.

Revisi 19

Oktober 2013

Perubahan untuk support library v4:
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.

Revisi 18

Juli 2013

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 dan SlidingPaneLayout agar tidak memunculkan pengecualian untuk pengukuran selagi kode project sedang diedit.
  • Aksesibilitas
  • 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.
  • Perubahan lainnya
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 class ActionBarActivity baru.
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.

Revisi 13

Mei 2013

Perubahan untuk support library v4:
Library gridlayout v7 baru:
  • Menambahkan GridLayout untuk memberikan dukungan bagi objek tata letak GridLayout.
  • Menambahkan android.support.v7.widget.Space yang dapat digunakan untuk membuat area kosong di dalam objek tata letak GridLayout.

Revisi 12

Februari 2013

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 untuk ViewPager.
  • 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.

Revisi 11

November 2012

Perubahan untuk support library v4:

Revisi 10

Agustus 2012

Perubahan untuk support library v4:
  • Menambahkan dukungan untuk fitur notifikasi yang diperkenalkan di Android 4.1 (API level 16) dengan penambahan ke NotificationCompat.

Revisi 9

Juni 2012

Perubahan untuk support library v4:
  • Dukungan Antarmuka Pengguna
    • Menambahkan dukungan PagerTabStrip, menyediakan fungsionalitas yang lebih baik di luar PagerTitleStrip.
    • Memperbaiki berbagai bug untuk PagerTitleStrip dan PagerTabStrip, termasuk opsi setAllCaps, perataan judul, penyempurnaan tampilan, batasan lebar minimum, dan masalah navigasi sentuh.
    • Menambahkan dukungan untuk gutter halaman ViewPager, yang membantu class ViewPager 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 atas onActivityResult() saat fragment target tidak ada lagi, pengiriman peristiwa pemilihan ke fragment yang tak terlihat, penyempurnaan perilaku FragmentTransaction.replace(), dan penambahan penanganan status yang lebih baik untuk fragment yang sedang dipindahkan ke luar tampilan.
    • Menambahkan dukungan untuk metode postOnAnimation() di ViewCompat.
    • Memperbarui NavUtils agar menggunakan fungsionalitas navigasi Naik di Android 4.1 (API level 16) jika tersedia.
  • 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.
  • Penyempurnaan umum

Revisi 8

April 2012

Perubahan untuk support library v4:
  • Memperbaiki flag intent untuk objek PendingIntent yang dihasilkan oleh TaskStackBuilder.
  • 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.

Revisi 7

Maret 2012

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 dengan ShareActionProvider baru di Android 4.0.
  • Menambahkan NavUtils dan TaskStackBuilder 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 helper Notification.Builder Android 3.0 untuk membuat notifikasi sistem standar.

Revisi 6

Desember 2011

Catatan: Referensi untuk API support library sekarang tersedia bersama referensi framework, misalnya: android.support.v4.app.

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.
  • Dukungan untuk Fragment:
    • Mengubah metode setStartDeferred() menjadi setUserVisibleHint(boolean).
    • Menambahkan waktu mulai tertunda untuk halaman yang tidak sedang ditampilkan di layar guna meningkatkan performa.
  • Dukungan untuk API Aksesibilitas:
    • Memperbarui metode AccessibilityDelegateCompat agar menampilkan daftar kosong, bukan null.
    • Menambahkan API baru yang diperlukan oleh sampel v4.

Revisi 5

Desember 2011

Perubahan untuk support library v4:

Revisi 4

Oktober 2011

Perubahan untuk support library v4:
  • Menambahkan EdgeEffectCompat untuk mendukung EdgeEffect.
  • 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 untuk View 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 membatalkan AsyncTask saat berjalan di Froyo dan versi platform yang lebih lama. Kode dukungan sekarang menggunakan AsyncTask versinya sendiri untuk mempertahankan perilaku yang sama di semua versi platform.

Revisi 3

Juli 2011

Perubahan untuk support library v4:
  • Menambahkan dukungan untuk Fragment.SavedState
  • Menambahkan MotionEventCompat untuk mendukung MotionEvent API yang lebih baru
  • Menambahkan VelocityTrackerCompat untuk mendukung VelocityTracker API yang lebih baru
  • Menambahkan ViewConfigurationCompat untuk mendukung ViewConfiguration 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 mengisi ViewPager dengan tampilan yang mewakili setiap halaman.
    • FragmentPagerAdapter: Ekstensi PagerAdapter untuk membalik di antara fragment.
    • FragmentStatePagerAdapter: Ekstensi PagerAdapter untuk membalik di antara fragment yang menggunakan dukungan library untuk Fragment.SavedState.
Support library v13 baru:
  • Menyertakan FragmentPagerAdapter dan FragmentStatePagerAdapter 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).

Revisi 2

Mei 2011

Perubahan untuk library v4:

Revisi 1

Maret 2011

Rilis awal dengan library v4.