Arsip Revisi Support Library

Halaman ini menjelaskan rilis paket Support Library versi lama. Sebagai rilis Support Library terbaru, lihat Terbaru Revisi Support Library.

Revisi 26.0.0 Beta 2

(Juni 2017)

Perhatikan bahwa 26.0.0-beta2 adalah versi pra-rilis. Platform API-nya dapat berubah sewaktu-waktu, 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 dukungan repositori 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 TextViews
  • Pengecualian pointer null saat terhubung ke MediaBrowserServiceCompat
  • TextInputLayout harus menetapkan petunjuk di onProvideAutofillStructure()
  • Stack overflow saat menggunakan ukuran otomatis TextView di O

Revisi 26.0.0 Beta 1

(Mei 2017)

Perhatikan bahwa 26.0.0-beta1 adalah versi pra-rilis. Platform API-nya dapat berubah sewaktu-waktu, 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 dukungan repositori 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 menelepon onNavigationItemReselected() saat item yang sudah dipilih dipilih, bukan memanggil onNavigationItemSelected().
  • Semua instance metode findViewById() sekarang menampilkan <T extends View> T, bukan View. Perubahan ini memiliki implikasi berikut:
    • Hal ini dapat menyebabkan kode yang sudah ada memiliki jenis nilai yang ditampilkan yang ambigu, misalnya jika ada someMethod(View) dan someMethod(TextView) yang menerima hasil panggilan ke findViewById().
    • Saat menggunakan bahasa sumber Java 8, diperlukan transmisi eksplisit ke View jika jenis nilai yang ditampilkan tidak dibatasi (misalnya, assertNotNull(findViewById(...)).someViewMethod()).
    • Penggantian metode findViewById() yang belum final (untuk misalnya, Activity.findViewById()) akan memerlukan hasil yang ditampilkan jenisnya diperbarui.

API baru

  • FragmentManager dan Fragment memiliki metode isStateSaved() yang memungkinkan kueri apakah transaksi akan diizinkan tanpa kehilangan status. Hal ini sangat berguna yang perlu diperiksa saat menangani peristiwa onClick() sebelum mengeksekusi transaksi.
  • Path motion didukung di AnimatedVectorDrawableCompat. Gerakan jalur memungkinkan satu animator objek untuk mengubah dua properti secara bersamaan waktu berdasarkan satu jalur; jalur ditetapkan sebagai android:pathData dalam XML animator).
  • Berbasis fisika animasi:
    • FlingAnimation baru yang mendukung animasi dengan kecepatan awal dan melambat dengan halus.
    • Subclass DynamicAnimation mendukung animasi kustom untuk objek apa pun.
    • SpringAnimation dan FlingAnimation dapat sekarang menganimasikan nilai float tanpa memerlukan View atau Object agar dikaitkan dengannya.

    Untuk informasi selengkapnya, lihat Animasi pegas dan Animasi flling halaman pratinjau.

  • Font dukungan dalam XML:
    • ResourcesCompat.getFont memungkinkan pemuatan font resource—termasuk XML jenis font—yang dapat digunakan dengan TextView.setTypeface().
    • Saat menggunakan AppCompat, TextView mendukung penentuan sumber daya font atau XML jenis font melalui atribut XML android:fontFamily.
    • Gunakan jenis font XML untuk membuat kelompok font dengan gaya dan ketebalan variasi. (Jika Anda menggunakan class library dukungan untuk melakukannya, gunakan Atribut app: serta android: .)
  • Dapat didownload font:
    • FontsContractCompat baru yang memungkinkan Anda meminta font dari penyedia font alih-alih memaketkannya dalam aplikasi Anda.
    • Font juga dapat diminta dalam XML dan digunakan dalam tata letak.
  • Kompatibilitas emoji library:
    • EmojiCompat dapat memproses CharSequence tertentu dan menambahkan EmojiSpans.
    • EmojiTextView dan widget lainnya untuk menampilkan emoji.
    • FontRequestEmojiCompatConfig untuk meminta font emoji dari penyedia font.
  • Pengubahan ukuran otomatis TextView:
    • Metode baru di TextViewCompat serta atribut XML untuk mengontrol pengubahan ukuran otomatis di TextView.
  • Kontrol pemutaran Leanback dengan dukungan pencarian:
    • PlaybackTransportRowPresenter baru yang merender pemutaran menggunakan SeekBar.
    • PlaybackTransportControlGlue baru yang berfungsi dengan PlaybackTransportRowPresenter dan mendukung pencarian.
    • Class dasar PlaybackSeekDataProvider baru untuk aplikasi memberikan thumbnail pencari ke PlaybackTransportControlGlue.
  • Penyimpanan Data Preferensi:
    • PreferenceDataStore kini memungkinkan Anda menerapkan penyimpanan preferensi, yang disetel dengan metode baru di Preference dan PreferenceManager.

Masalah Umum

  • Integrasi kompatibilitas Font dan Emoji yang Dapat Didownload dengan Google Play Layanan hanya berfungsi di Layanan Google Play v11+, yang saat ini yang tersedia melalui Google Play Program beta layanan.

Perbaikan bug

  • MediaBrowserCompat.search() API tidak berfungsi (Masalah AOSP 262170)
  • ViewCompat.postInvalidateOnAnimation() menampilkan pengecualian (AOSP masalah 80146)
  • onActivityCreated() dipanggil untuk fragment dalam Aktivitas yang telah dihancurkan
  • RecyclerView.isComputingLayout() akan menampilkan benar (true) selama pengambilan data
  • Saat transisi Fade terputus dan dibalik, View memulai animasi dari awal. (Perbaikan ditransfer dari Android.)
  • 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. Platform API-nya dapat berubah sewaktu-waktu, 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 hanya ada untuk API < 14 kompatibilitas memiliki tidak digunakan lagi. Klien API ini harus bermigrasi ke framework mereka ekuivalen seperti yang disebutkan di halaman referensi untuk setiap API yang tidak digunakan lagi.

  • Modul support-percent tidak digunakan lagi. Klien modul ini harus bermigrasi ke widget ConstraintLayout baru, yang disediakan sebagai artefak terpisah di SDK Manager.
  • Modul support-fragment tidak lagi memiliki dependensi pada support-media-compat.

API baru

Banyak kelas, metode, dan konstanta baru ditambahkan untuk menyediakan dukungan yang kompatibel dengan versi lama untuk API platform yang ditambahkan di O Preview.

  • IME_FLAG_NO_PERSONALIZED_LEARNING: IME dapat memproses "tidak belajar" flag untuk aplikasi yang memiliki mode pribadi, seperti browser. Ini membantu IME memahami apakah aplikasi berada dalam mode pribadi, sehingga mereka dapat menonaktifkan fungsi pembelajaran atau adaptif saat aplikasi berada dalam mode.

Untuk daftar lengkap perubahan API antara 25.2.0 dan 26.0.0-alpha1, lihat API library dukungan laporan perbedaan.

Perbaikan bug

  • Dalam beberapa kasus, AutoTransition sederhana animasi dapat terganggu dengan tampilan "jumps". (Masalah AOSP 221816)

Revisi 25.4.0

(Juni 2017)

Penting: Support library kini tersedia melalui repositori Maven Google. Anda tidak perlu mendownload dukungan repositori dari SDK Manager. Untuk informasi selengkapnya, lihat Penyiapan Support Library.

Perubahan penting

  • Panggilan transaksi executePendingTransactions(), commitNow(), popBackStackImmediate(), dan yang serupa tidak diizinkan selama Status FragmentManager berubah. Reentran eksekusi transaksi tidak aman dan FragmentManager sekarang memberlakukan ini selama statusnya perubahan.
  • Bersamaan dengan rilis pustaka dukungan ini, kami juga merilis multidex versi 1.0.2. Versi ini mencakup perubahan penting berikut:
    • Memungkinkan multidexing APK instrumentasi.
    • Menghentikan penggunaan MultiDexTestRunner (AndroidJUnitRunner harus digunakan ).
    • Memberikan perlindungan yang lebih baik terhadap beberapa ekstraksi arsip yang buruk pengelolaan aplikasi.
    • Memperbaiki bug yang dapat menyebabkan file ditinggalkan sementara.
    • Mendukung penginstalan yang lebih cepat saat dilakukan dalam proses serentak.
    • Memperbaiki bug penginstalan pada API 19 dan 20.

API Baru dan Modifikasi

Path morphing dan path interpolation didukung di AnimatedVectorDrawableCompat. {i>Path morphing<i} memungkinkan bentuk berubah dari satu jalur (ditentukan sebagai android:valueFrom) ke jalur lain (ditentukan sebagai android:valueTo), untuk memberikan visualisasi yang kompleks dan menarik yang dihasilkan. Jenis interpolasi jalur memungkinkan interpolator untuk AnimatedVectorDrawableCompat ditentukan sebagai jalur (ditentukan sebagai android:pathData dalam XML).

Diffs API

Perbaikan masalah

  • Pengecualian pointer null saat terhubung ke MediaBrowserServiceCompat
  • MediaBrowserCompat.search() API tidak berfungsi (Masalah AOSP 262170)
  • Callback onItemClicked BrowseFragment rusak di 25.3.0
  • NullPointerException saat men-scroll ke atas dan ke bawah dalam VerticalGridView di 25.3.1
  • ClassCastException di SimpleArrayMap.allocArrays()

Revisi 25.3.1

(Maret 2017)

Perbaikan masalah

  • SwitchCompat memerlukan SDK minimum versi 14 atau yang lebih tinggi. (Masalah AOSP 251302)
  • Animasi berbasis prinsip fisika updateListener melewati frame pertama.
  • Animasi label BottomNavigationView rusak.

Revisi 25.3.0

(Maret 2017)

Perubahan penting

Metadata versi Support Library akan otomatis ditambahkan ke AndroidManifest.xml saat membangun dari Gradle, yang menyederhanakan versi pelacakan dalam build publik. Contoh:

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

Penghentian penggunaan

Sejumlah metode dan class dinyatakan tidak digunakan lagi dalam rilis ini. API yang tidak digunakan lagi ini akan dihapus dalam versi mendatang dan developer harus bermigrasi dari mereka. Untuk informasi selengkapnya tentang cara bermigrasi dari API tertentu, baca dokumentasinya.

ExifInterface
Metode boolean getLatLong(float[]) tidak digunakan lagi. Sebagai gantinya, gunakan metode baru getLatLong(), yang tidak membutuhkan argumen dan menampilkan double[].
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) tidak digunakan lagi. Sebagai gantinya, gunakan metode baru setErrorMessage(int, CharSequence), yang diberi kode error dan deskripsi opsional.
EXTRA_SUGGESTION_KEYWORDS tidak digunakan lagi. Sebagai gantinya, gunakan Fungsi penelusuran MediaBrowserCompat.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() telah diganti namanya menjadi LinearLayoutManager.getInitialPrefetchItemCount(). Nama lama masih didukung tetapi akan dihapus dalam rilis mendatang.

API Baru dan Modifikasi

appcompat-v7
Metode baru ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) menyederhanakan penonaktifan animasi ikon pengalihan panel navigasi.
customtabs
Menambahkan dukungan untuk saluran pesan. Lihat CustomTabsService.requestPostMessageChannel() dan CustomTabsService.postMessage() referensi untuk detailnya.
dynamic-animation
Library animasi baru berbasis fisika yang menyediakan serangkaian API untuk membuat animasi yang bereaksi secara dinamis terhadap input pengguna.
leanback-v17
Menambahkan dukungan untuk latar belakang paralaks. Lihat Parallax referensi untuk detailnya.
Ditambahkan TimePicker untuk memilih waktu di antarmuka TV.
mediacompat
Menambahkan fungsionalitas penelusuran. Lihat MediaBrowserCompat.search() dan MediaBrowserServiceCompat.onSearch() referensi untuk detailnya.
Menambahkan dukungan untuk mode acak dan ulangi. Lihat MediaSessionCompat.setRepeatMode() dan setShuffleModeEnabled() referensi untuk detailnya.

Perbaikan masalah

Revisi 25.2.0

(Februari 2017)

Perubahan Penting

Perbaikan masalah

  • Rilis ini memperbaiki masalah mediarouter berat saat menggunakan A2DP API perutean perangkat dan media dapat menyebabkan perangkat menjadi tidak responsif, yang membutuhkan {i>reboot<i}.
  • FragmentManager.FragmentLifecycleCallbacks sekarang menjadi statis.

Perbaikan masalah

  • Menampilkan presentasi slide dengan pencerminan layar akan menyebabkan perangkat putuskan sambungan dari Wi-Fi
  • Tombol media tidak menangani dengan benar aplikasi media yang tidak terdaftar mereka sendiri dengan setMediaButtonReceiver()
  • Error VectorDrawable dengan resource string (Masalah AOSP 232407)
  • TextInputLayout petunjuk overlay dan teks jika teks ditetapkan oleh XML (Masalah AOSP 230171)
  • Kebocoran memori di MediaControllerCompat (Masalah AOSP 231441)
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() gak jalan
  • RecyclerView error saat mendaur ulang holder tampilan (Masalah AOSP 225762)
  • getAllowGeneratedReplies() salah menampilkan nilai salah untuk tindakan di dalam WearableExtender

Revisi 25.1.1

(Januari 2017)

Penting: Ada bug yang diketahui di android.support.v7.media.MediaRouter di revisi 25.1.1 dan 25.1.0 dari Support Library. Jika aplikasi Anda menggunakan MediaRouter v7, Anda harus mengupdate ke Support Library Revisi 25.2.0, yang memperbaiki {i>bug<i} ini.

Perubahan Penting

  • Transaksi fragmen kini dapat dioptimalkan di dalam dan di seluruh transaksi. Mengoptimalkan operasi transaksi fragmen dapat menghilangkan operasi yang dibatalkan. Misalnya, anggaplah dua transaksi dieksekusi bersama, satu yang menambahkan fragmen A dan yang kedua mengganti fragmen A dengan fragmen B. Dalam hal ini, operasi pertama mungkin dibatalkan, dan hanya fragmen B yang ditambahkan. Itu berarti fragmen A mungkin tidak melalui siklus proses pembuatan/pemusnahan.

    Efek samping pengoptimalan ini adalah fragmen mungkin memiliki status perubahan di luar urutan yang diharapkan. Misalnya, anggaplah satu transaksi menambahkan fragmen A, yang kedua menambahkan fragmen B, lalu yang ketiga menghapus fragmen J: Tanpa pengoptimalan, fragmen B dapat mengharapkan dibuat, fragmen A juga akan ada karena fragmen A akan dihapus setelah fragmen B ditambahkan. Dengan pengoptimalan, fragmen B tidak bisa memastikan fragmen A tersebut akan ada ketika B dibuat, karena fragmen A pembuatan dan pemusnahan dapat dihapus dengan pengoptimalan.

    Pengoptimalan ini dinonaktifkan secara default. Untuk mengaktifkan pengoptimalan, panggil FragmentTransaction.setAllowOptimization(true).

  • Fragmen kini dapat menunda transisi dan animasinya hingga fragmen tersebut sudah 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 yang diketahui di android.support.v7.media.MediaRouter di revisi 25.1.1 dan 25.1.0 dari Support Library. Jika aplikasi Anda menggunakan MediaRouter v7, Anda harus mengupdate ke Support Library Revisi 25.2.0, yang memperbaiki {i>bug<i} ini.

Perubahan Penting

  • Klien widget RecyclerView bertingkat (misalnya, daftar scroll vertikal dari daftar scroll horizontal) bisa mendapatkan manfaat kinerja yang signifikan dengan menunjukkan pengelola tata letak widget RecyclerView internal berapa banyak item yang harus dipersiapkan sebelum di-scroll di layar. Telepon LinearLayoutManager.setInitialPrefetchItemCount(N), dengan N adalah jumlah tampilan yang terlihat per item bagian dalam. Misalnya, jika daftar horizontal dalam menampilkan minimal tiga setengah tampilan item sekaligus, Anda dapat meningkatkan kinerja dengan memanggil LinearLayoutManager.setInitialPrefetchItemCount(4). Tindakan ini memungkinkan RecyclerView untuk membuat semua penayangan lebih awal, sedangkan bagian luar RecyclerView adalah menggulir, yang secara signifikan mengurangi ketersendatan selama akan di-scroll.
  • FragmentActivity.setSupportMediaController() dan FragmentActivity.getSupportMediaController() tidak digunakan lagi. Gunakan MediaControllerCompat.setMediaController() dan MediaControllerCompat.getMediaController() statis yang baru metode.
  • Saat klien menentukan warna widget melalui pewarnaan compat (misalnya, appcompat:buttonTint), klien bertanggung jawab untuk menyediakan semua status yang diperlukan (seperti "dinonaktifkan", "ditekan", dll.). Ini adalah sesuai dengan cara penentuan tint 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. Ini juga memperbaiki preferensi dukungan fragmen merusak fokus saat menggunakan navigasi DPAD seperti di Android TV perangkat.
  • Leanback: BrowseFragment mengalami error jika header dinonaktifkan dan adaptor kosong.
  • Appcompat: AlertDialog terlalu lebar.
  • InputContentInfoCompat panggilan requestPermission() saat seharusnya memanggil releasePermission().
  • MediaBrowserCompat mengalami error.
  • CoordinatorLayout mengukur/mengatur tata letak tampilan saat visibilitas disetel ke GONE.
  • Tidak dapat mewarnai AnimatedVectorDrawableCompat di level API di bawah 24
  • Library Leanback memicu error lint palsu
  • Library palet menyebabkan kegagalan pengujian di setiap level API
  • RecyclerView pengujian gagal di Leanback
  • RecyclerView error saat mendaur ulang holder tampilan (Masalah AOSP 225762)
  • Fragment.onDestroy() tidak dipanggil untuk fragmen di data sebelumnya
  • Scrim CollapsingToolbarLayout saat ini tidak digambar saat diciutkan
  • CoordinatorLayout.offsetChildByInset() lemparan IllegalArgumentException
  • Menganimasikan RecyclerView item terlepas RecyclerView bagian dalam, cegah masa depan pengambilan data
  • RecyclerView item yang dilampirkan tidak dapat pengambilan data bertingkat
  • Mengambil data untuk RecyclerView bertingkat item dihapus selama tata letak pertama
  • Pengambilan data RecyclerView gagal jika dua tarikan peristiwa tiba di posisi yang sama
  • RecyclerView harus secara spekulatif tata letak saat RenderThread sedang dirender
  • Resource warna yang dikonfigurasi pada malam hari yang dikonversi menjadi Drawable tidak selalu dihapus dengan benar dari cache Resource
  • FloatingActionButton: Menetapkan BackgroundTintList secara terprogram tidak berfungsi dengan baik (AOSP masalah 227428)
  • TextInputLayout: Typeface bukan menyiapkan ErrorView (Masalah AOSP 227803)
  • TextInputLayout selalu melakukan fallback menjadi warna error terang di bawah API 23 (Masalah AOSP 221992)
  • FloatingActionButton ditampilkan sebagai ditekan saat pointer pergi

Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.

Penghentian penggunaan

Sejumlah metode dan class dinyatakan tidak digunakan lagi dalam rilis ini. Ini API yang tidak digunakan lagi akan dihapus dalam versi mendatang dan developer harus bermigrasi dari mereka. Untuk informasi selengkapnya tentang cara bermigrasi dari API tertentu, baca 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

  • Konstruktor ContextCompat telah dilindungi. Instance class ini tidak boleh dibuat secara publik, tetapi mungkin diperluas oleh library dukungan yang menargetkan API level lebih baru.
  • Konstruktor ActivityCompat telah dibuat terlindungi. Instance class ini tidak boleh dibuat secara publik, tetapi mungkin diperluas oleh library dukungan yang menargetkan API level lebih baru.
  • getReferrer(Activity) telah dibuat statis.
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) telah dihapus Setiap penerapan klien dari metode ini harus dihapus.
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) telah dihapus Penggunaannya harus diganti dengan metode yang diberi nama dengan tepat fromMediaSession().
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) telah dihapus. Penggunaannya harus diganti dengan metode bernama MediaSessionCompat.QueueItem#fromQueueItem.
  • 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 atribut bawah navigasi dari spesifikasi Desain Material.
  • Paket android.support.v13.view.inputmethod baru mencakup class untuk mengakses fitur android.view.inputmethod.InputConnection yang diperkenalkan setelah API tingkat 13.
  • Class android.v7.widget.RecyclerView.DividerItemDecoration menyediakan implementasi dasar untuk pemisah vertikal atau horizontal antara item.
  • Gaya dekorasi baru di android.support.v7.app.NotificationCompat, DecoratedCustomViewStyle dan DecoratedMediaCustomViewStyle, class duplikat 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 hanya ada untuk menayangkan versi sistem tersebut sekarang ditandai sebagai tidak digunakan lagi dan seharusnya tidak sebaiknya digunakan. Class dan metode yang tidak digunakan lagi ini dapat dihapus pada masa mendatang data.

Pemecahan Support Library v4

Dengan rilis ini, Support Library v4 telah telah dibagi 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
Mengimplementasikan 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 fragmen Google Workspace for Education. Modul ini memiliki dependensi pada support-compat, support-core-utils, support-core-ui, dan support-media-compat.

Untuk kompatibilitas mundur, jika Anda mencantumkan support-v4 di Skrip Gradle, APK Anda akan menyertakan semua modul ini. Namun, untuk mengurangi Ukuran APK, sebaiknya Anda cukup mencantumkan modul tertentu yang dibutuhkan aplikasi Anda.

Update API

Perubahan perilaku

  • Jika Anda menggunakan fungsionalitas siang/malam pustaka compat, sistem sekarang secara otomatis membuat ulang aktivitas Anda setiap kali mode siang/malam berubah (baik karena waktu atau panggilan ke AppCompatDelegate.setLocalNightMode()).
  • Snackbar kini berada di belakang menu navigasi jika status bar transparan.

Library MediaRouter

Perangkat Bluetooth tidak lagi tercantum sebagai rute media. Memilih rute audio ke Perangkat Bluetooth kini sepenuhnya dikontrol di level 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 pada kelas berikut hanya diperlukan untuk API 8 dan lebih rendah dan sebaiknya tidak digunakan lagi. Sebagai gantinya, gunakan kerangka kerja implementasi yang tepat.
    • 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 digantikan oleh AccessibilityServiceInfoCompat.loadDescription(), yang menampilkan deskripsi yang dilokalkan dengan benar.
  • Anda tidak boleh membuat instance class ActivityCompat secara langsung. Metode getReferrer(Activity) nonstatis akan tidak dapat diubah dalam rilis mendatang.
  • CoordinatorLayout.Behavior.isDirty() tidak digunakan lagi dan tidak lagi yang dipanggil oleh CoordinatorLayout. Apa saja implementasi, serta panggilan apa pun ke metode ini, harus dihapus.
  • MediaSessionCompat.obtain() tidak digunakan lagi dan diganti dengan metode yang lebih tepat penamaan fromMediaSession().
  • MediaSessionCompat.QueueItem.obtain() tidak digunakan lagi dan diganti dengan metode yang diberi nama yang lebih tepat fromQueueItem().
  • Beberapa class abstrak tidak digunakan lagi dan diganti dengan yang lebih mencerminkan padanan kerangka kerja mereka.
  • CustomTabsSession.setToolbarItem() tidak digunakan lagi dan diganti dengan Berbasis RemoteView setSecondaryToolbarViews().

Perbaikan bug

Masalah umum berikut telah diperbaiki melalui rilis 24.2.0:

  • Pastikan indikator SwipeRefreshLayout ditampilkan saat setRefreshing(true) dipanggil sebelum pengukuran pertama diteruskan (AOSP) masalah 77712)
  • Cegah TabLayout berkedip saat berganti halaman (AOSP) masalah 180454)
  • Hindari ClassNotFoundException saat unmarshalling SavedState pada level API 11 dan yang lebih rendah (Masalah AOSP 196.430)

Daftar lengkap perbaikan bug publik tersedia di Issue Tracker AOSP.

Revisi 24.1.1

Juli 2016

Perbaikan masalah:

  • Memperbaiki masalah dalam rilis 24.1.0 yang memengaruhi ID resource dibagikan antar-library dukungan. Masalah ini menyebabkan aplikasi yang bergantung pada mendukung library dengan sumber daya (seperti design dan compat) untuk mengalami masalah yang disebabkan oleh ketidakcocokan ID sumber daya.

Revisi 24.1.0

Juli 2016

Perubahan untuk Dukungan v4 Library:

Perbaikan masalah:

Revisi 24.0.0

Juni 2016

Perubahan untuk Dukungan v4 Library:
  • Ditambahkan pada Fragment.commitNow() untuk commit sinkron
  • Ditambahkan pada NotificationCompat.MessagingStyle untuk percakapan banyak pihak
  • Ditambahkan pada NotificationManagerCompat.areNotificationsEnabled() dan getImportance()
  • MediaSessionCompat sekarang mencerminkan fungsi MediaSession dan tidak lagi memanggil setMediaButtonReceiver() secara otomatis

Catatan: Hanya MediaBrowserServiceCompat dalam versi 24.0.0 yang kompatibel dengan versi yang lebih baru dengan versi Android mendatang setelah API 24. Jika Anda menggunakan versi sebelumnya, update ke versi ini untuk untuk memastikan kompatibilitas.

Perubahan untuk v7 library compat:
  • Menambahkan dukungan untuk mereferensikan objek ColorStateList bertema dari XML
Perubahan untuk Dukungan Desain Library:
Perubahan untuk library Leanback v17:
  • Menambahkan OnboardingFragment untuk memberikan sambutan yang dijalankan pertama kali dan alur penyiapan
Perubahan untuk tab kustom:
  • Menambahkan dukungan untuk menyediakan RemoteViews untuk toolbar sekunder
  • Ditambahkan pada CustomTabsClient.connectAndInitialize() untuk pemanasan satu baris

Revisi 23.4.0

Mei 2016

Perubahan untuk Dukungan v4 Library:
  • Memperbaiki masalah di mana fragment ditambahkan dalam urutan yang salah. (Masalah 206.901)
  • Memperbaiki masalah panel aplikasi yang tidak digambar setelah di-scroll di balik layar. (Masalah 178037)
Perubahan untuk v7 library compat:
Perubahan untuk Dukungan Desain Library:
Perubahan untuk library Vektor Drawable:

Revisi 23.3.0

April 2016

Perubahan untuk Dukungan v4 Library:
  • Menambahkan AppLaunchChecker untuk membantu melacak cara aplikasi Anda pernah diluncurkan oleh pengguna sebelumnya. hasStartedFromLauncher() memberi tahu Anda apakah pengguna memiliki meluncurkan aplikasi Anda dari layar beranda sebelumnya, atau jika layar itu hanya dimulai dengan cara lain (misalnya, untuk melihat situs web tertentu URL tertentu).
  • Memperbaiki kebocoran memori di MediaBrowserServiceCompat.mConnections. (Masalah 205.220)
  • Perbaikan masalah saat ViewPager tidak memperhitungkan margin halaman saat membalik halaman. (Masalah 203816)
  • Fragment.onRequestPermissionsResult() kini dikirim ke turunan fragmen.
Perubahan untuk v7 library compat:
Perubahan untuk v7 library mediarouter:
Perubahan untuk Preferensi v7 {i>library<i}:
Perubahan untuk v7 library nullable:
Perubahan untuk Dukungan Desain Library:

Revisi 23.2.1

Maret 2016

Perubahan untuk Dukungan v4 Library:
Perubahan untuk v7 library compat:
  • Mengembalikan dependensi pada aset vektor sehingga developer yang menggunakan compat library tidak dipaksa untuk menggunakan VectorDrawable dan flag build yang terkait.
  • 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 terkait penerapan nilai konfigurasi di objek Resources Masalah 201928
  • Memperbaiki masalah kompatibilitas saat android.support.v7.app.NotificationCompat.MediaStyle tombol batal menjadi tidak terlihat di level API 21 dan lebih rendah. (Masalah 202156)
  • Memperbaiki error kompatibilitas terkait AppCompatSpinner di API level 21 dan yang lebih lama. (Masalah 202246)
  • Memperbaiki masalah saat gaya app:textAllCaps = "false" tidak Anda. (Masalah 202117)
  • Memperbaiki error saat memulihkan SearchView. (Masalah 201836)
  • Memperbaiki kebocoran memori yang terjadi saat mewarnai resource drawable menggunakan AppCompat. (Masalah 202379)
  • Memperbaiki masalah KeyEvent pada API level 11 dan lebih rendah. (Masalah 202939)
Perubahan untuk cardview v7 library:
Perubahan untuk v7 library nullable:
Perubahan untuk v7 library mediarouter:
Perubahan untuk v17 Library Leanback:
  • Masalah terkait GridLayout.onAddFocusables() yang telah diperbaiki menyebabkan pemilihan item yang salah.
  • Memperbaiki masalah terkait tindakan GuidedStepFragment menghilang setelah tindakan diciutkan.
Perubahan untuk Dukungan Desain Library:
Perubahan untuk VectorDrawableCompat:
  • Memperbaiki bug di mana variabel yang salah dibaca untuk android:tintMode. (Masalah 201907)

Revisi 23.2.0

Februari 2016

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.
  • Sistem sekarang memanggil onActivityResult() untuk FragmentActivity bertingkat.
Perubahan untuk AppCompat v7 library:
  • Menambahkan fungsionalitas Mode Malam ke API level 14 dan yang lebih tinggi. Sakelar antara Material Tema Terang dan Gelap 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(): penggantian pengaturan mode malam untuk komponen aplikasi lokal.
    • AppCompatDelegate.getDefaultNightMode(): pengembalian mode malam default.
Perubahan untuk mediarouter v7 library:
Perubahan untuk Design support library:
  • Menambahkan dukungan untuk bottom spreadsheet. Plugin interaksi, BottomSheetBehavior, memungkinkan tampilan turunan CoordinatorLayout untuk bertindak sebagai {i>sheet<i} bawah. Class dasar, BottomSheetCallback, menyediakan untuk memantau peristiwa sheet bawah.
Perubahan untuk dukungan CustomTabs library:
  • Chrome Tab Khusus kini memungkinkan aplikasi menyertakan panel bawah dengan tindakan tombol selain tombol tindakan teratas yang sudah ada.
  • CustomTabsIntent.Builder.addToolBarItem(): menambahkan 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 diberikan sebuah ID yang valid dan sesi browser berada di latar depan.
Menambahkan pustaka dukungan VectorDrawable:
  • Kelas yang Ditambahkan:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • Menambahkan dukungan untuk aset VectorDrawable ke aplikasi berjalan pada API level 7 atau yang lebih tinggi. AnimatedVectorDrawable aset juga didukung pada level API 11 atau yang lebih tinggi. Aset vektor dapat jauh lebih kecil daripada aset gambar dan akan membantu mengurangi dengan mengurangi jumlah aset yang diperlukan untuk mendukung layar perangkat.
  • Library ini sekarang menjadi dependensi library AppCompat v7, yang memungkinkan developer dan AppCompat untuk memudahkan penggunaan vektor drawable. Untuk menggunakan VectorDrawableCompat dalam ImageButton atau ImageView, gunakan XML app:srcCompat atau setImageResource() .
  • Untuk terus mereferensikan ID atribut pada API level 20 atau lebih rendah, tambahkan flag appt berikut ke file build,gradle Anda:
    • Jika Anda membangun dengan Plugin Android untuk Gradle 1.5.0 atau 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 membangun dengan Plugin Android untuk Gradle 2.0.0 atau lebih tinggi, tambahkan kode berikut ke file build.gradle Anda:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
Perubahan untuk Leanback v17 Library:
  • Menambahkan kemampuan baru ke GuidedStepFragment, yang merupakan komponen yang memandu pengguna dalam mengambil suatu keputusan atau serangkaian keputusan:
    • Menambahkan tindakan tombol ke GuidedAction:
      • GuidedStepFragment.setButtonActions(): menetapkan daftar GuidedAction yang pengguna dapat memilih dari tampilan Tindakan.
    • Bidang Description sekarang bisa diedit:
      • GuidedAction.Builder.descriptionEditable(): saat meneruskan true, menetapkan deskripsi tindakan agar dapat diedit.
      • GuidedAction.getEditDescription(): menampilkan kolom yang dapat diedit deskripsi sebagai CharSequence.
    • Menambahkan menu drop-down yang berisi sub-tindakan:
      • GuidedAction.setSubActions(): menetapkan daftar GuidedAction sebagai drop-down menu sub-tindakan.
  • Menambahkan widget GuidedDatePickerAction untuk fungsionalitas DatePicker:
    • Tanggal dipilih menggunakan kolom tahun, bulan, dan hari dan 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, mis. “YMD” atau “MDY”. Atau, gunakan atribut XML datePickerFormat.
Perubahan untuk RecyclerView v7 library:
  • RecyclerView kini memiliki fitur keikutsertaan fitur yang disebut AutoMengukur yang memungkinkan RecyclerView.LayoutManager untuk menggabungkan dengan mudah atau menangani berbagai spesifikasi pengukuran yang disediakan oleh induk dari RecyclerView. Ini mendukung semua kemampuan animasi yang ada dari RecyclerView.
    • Jika Anda memiliki RecyclerView.LayoutManager kustom, panggil setAutoMeasureEnabled(true) untuk mulai menggunakan AutoMeasure API. Semua objek RecyclerView.LayoutManager bawaan mengaktifkan pengukuran otomatis secara default.
    • RecyclerView.LayoutManager tidak lagi mengabaikan beberapa setelan RecyclerView.LayoutParams, seperti MATCH_PARENT dalam arah scroll.

      Catatan: Pembatasan yang dicabut ini dapat menyebabkan perilaku tak terduga dalam tata letak Anda. Pastikan Anda menentukan parameter tata letak yang benar.

  • Saat mengupdate RecyclerView.ViewHolder dengan payload informasi, DefaultItemAnimator sekarang menonaktifkan animasi perubahan.
  • Anda sekarang dapat mengubah kecepatan escape ItemTouchHelper untuk mengontrol sensitivitas geser. Untuk membuatnya lebih mudah atau lebih sulit digeser, mengganti getSwipeEscapeVelocity(float defaultValue) dan mengubah defaultValue.

Revisi 23.1.1

November 2015

Perubahan untuk library recyclerview v7:
  • Memperbaiki error yang terjadi saat Anda melakukan tindakan geser untuk menutup yang Class utilitas ItemTouchHelper disediakan, 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 (level API 15) dan yang lebih lama. (Masalah 183315)

Revisi 23.1.0

Oktober 2015

Perubahan untuk Support library v4:
  • Menambahkan dukungan antarmuka OnScrollChangedListener ke Widget NestedScrollView. Ini memungkinkan Anda menerima callback saat posisi scroll X atau Y berubah.
  • Menambahkan class MediaButtonReceiver untuk meneruskan kontrol pemutaran yang diterima ke layanan yang mengelola class MediaSessionCompat. Tujuan Class MediaSessionCompat memiliki yang bisa secara otomatis menemukan penerima tombol media dalam manifes. J penerima tombol media merupakan bagian penting untuk menangani 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 lebar tinggi sampul album, serta memuat sampul secara asinkron.
    • Otomatis memilih warna konten berdasarkan warna utama aplikasi.
    • Menyesuaikan tata letak dialog berdasarkan ruang layar yang tersedia di perangkat.
    • Mendukung mode lanskap.
Perubahan untuk library palet v7:
  • Menambahkan metode setRegion() untuk mendukung ekstraksi warna dari region objek Bitmap.
Perubahan untuk library recyclerview v7:
  • Menambahkan API animasi yang disempurnakan ke class ItemAnimator untuk meningkatkan kualitas penyesuaian:
    • Mengubah animasi tidak lagi menerapkan dua salinan objek ViewHolder, yang memungkinkan animasi konten item. Selain itu, objek ItemAnimator memutuskan apakah ingin menggunakan kembali objek ViewHolder yang sama atau membuat yang baru.
    • API catatan informasi yang baru memberi class ItemAnimator fleksibilitas untuk mengumpulkan data di titik yang tepat dalam siklus proses tata letak. Informasi ini nanti diteruskan ke callback animate.
  • Menyediakan rencana transisi yang lancar untuk perubahan API yang tidak kompatibel dengan versi lama ini:
    • Jika sebelumnya Anda telah memperpanjang class ItemAnimator, Anda dapat mengubah class dasar ke SimpleItemAnimator dan kode Anda akan berfungsi seperti sebelumnya. Class SimpleItemAnimator menyediakan API lama dengan menggabungkan API baru.
    • Beberapa metode dihapus dari class ItemAnimator. Hal berikut kode tidak akan lagi dikompilasi:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      Anda dapat menggantinya dengan:

      Kotlin

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

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
Perubahan untuk v7, v14, dan Support library Preference 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), dan animasi yang lebih baik serta transisi.
  • 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 bergiliran ke VerticalGridFragment .
Perubahan untuk Support library Design:
  • Ditambahkan 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 diikat dan di-scroll ke tepi terdekat.
  • Menambahkan dukungan untuk tampilan kustom ke class NavigationView dengan menggunakan Atribut app:actionLayout atau MenuItemCompat.setActionView() .
Perubahan untuk Support library Custom Tabs:
  • Menambahkan metode enableUrlBarHiding() ke CustomTabsIntent . Memungkinkan klien menyesuaikan apakah kolom URL harus disembunyikan secara otomatis saat menggulir ke bawah.
  • Menambahkan metode setActionButton() ke CustomTabsSession . Hal ini memungkinkan klien mengubah ikon untuk tombol tindakan khusus di tab khusus yang sudah diluncurkan.
  • Menambahkan konstanta TAB_SHOWN dan TAB_HIDDEN sebagai peristiwa baru untuk metode onNavigationEvent dari CustomTabsCallback .

Revisi 23.0.1

September 2015

Perubahan untuk v7 dan Support library Preference 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 hardware ke Android 4.1 (level API 16) dan yang lebih tinggi. (Masalah 183896)
  • Memperbaiki masalah tombol perangkat keras yang tidak berfungsi saat aktivitas telah menyetel Toolbar untuk bertindak sebagai ActionBar dengan menggunakan metode setSupportActionBar(). (Masalah 183334)
  • Memperbarui class AppCompatDialogFragment sehingga tidak lagi menampilkan Windows feature must be requested before adding content {i>error<i}. (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 Dukungan Laporan Perbedaan API Library.

Revisi 22.2.1

Juli 2015

Perubahan untuk Support library Design:
  • Menambahkan metode hide() dan show() ke Class FloatingActionButton untuk terprogram memicu animasi.
  • Menambahkan konstanta LENGTH_INDEFINITE ke Class Snackbar untuk menampilkan snackbar hingga ditutup atau snackbar lain ditampilkan. Selain itu, menambahkan setActionTextColor(int) dan setActionTextColor(ColorStateList) metode.
  • Menambahkan metode getSelectedTabPosition() ke Class TabLayout untuk mengambil data tab yang dipilih.
  • Menyediakan API yang sangat lancar untuk Class android.support.v7.app.NotificationCompat.MediaStyle untuk metode perantaian.
  • Menambahkan metode praktis ke RecyclerView untuk penyisipan item dalam batch.

Untuk daftar lengkap perubahan Support Library, lihat Dukungan Laporan Perbedaan API 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 Anda sebagai tindakan tombol tindakan mengambang (FAB), yang mendukung ukuran default atau mini.
  • Menambahkan Snackbar untuk memberikan ringan masukan dengan tindakan opsional di snackbar animasi.
  • Menambahkan TabLayout untuk mengimplementasikan perbaikan dapat di-scroll tab serta mudah integrasi dengan ViewPager.
  • Menambahkan NavigationView untuk mengimplementasikan panel navigasi termasuk kemampuan untuk meng-inflate item menu melalui Resource Menu.
  • Menambahkan CoordinatorLayout, tujuan umum , digunakan untuk membangun dependensi antara tampilan yang setara dan memungkinkan reaksi scroll yang mudah antar komponen melalui CoordinatorLayout.Behavior. Banyak Desain Komponen library bergantung pada turunan dari CoordinatorLayout.
  • Menambahkan AppBarLayout, penampung untuk Toolbar dan tampilan lainnya (seperti TabLayout) untuk bereaksi terhadap kejadian gulir dengan menggulir keluar layar, menjadi terlihat sebagai reaksi menggulung ke bawah, atau menciutkan/membatalkan penciutan sebelum menggulir ke luar/ke dalam layar.
  • Menambahkan CollapsingToolbarLayout untuk mengontrol bagaimana Toolbar diciutkan. Toolbar dapat diciutkan dengan: menyematkan komponen ke bagian atas layar saat layar diciutkan, sehingga scroll paralaks 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 Dukungan Laporan Perbedaan API Library.

Revisi 22.1.0

April 2015

Perubahan untuk library Annotations:
  • Menambahkan library Annotations untuk memberikan dukungan bagi pemeriksaan kode yang disempurnakan. Anotasi ditambahkan sebagai tag {i>metadata <i}yang Anda lampirkan ke variabel, parameter, dan mengembalikan nilai untuk memeriksa nilai yang ditampilkan metode, parameter yang diteruskan, dan variabel dan {i>field<i}.
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 konstruktor PopupMenu untuk mendukung pop-up baru menu.
  • Menambahkan dukungan untuk deskripsi ikon Ciutkan di Toolbar .
  • Memperbarui widget SearchView untuk mendukung penayangan commitIcon.
  • Menghapus atribut buttonGravity dari Class Toolbar.
Perubahan untuk library cardview v7:
Perubahan untuk Penggantian v7 library:
Perubahan untuk library leanback v17:
  • Menambahkan dukungan untuk menghasilkan fragment kode v4.
  • Mengubah warna teks sekunder di CardView.

Revisi 21.0.1

November 2014

Ditambahkan support library multidex untuk mendukung beberapa File Dalvik Executable (DEX) untuk dukungan file multi-dex sebelum Android 5.0.

Revisi 21

Oktober 2014

Perubahan untuk support library v4:
  • Menambahkan dukungan untuk Fragment untuk perangkat yang menjalankan Android 5.0 (API level 21). Perlu diketahui bahwa transisi tidak berpengaruh pada perangkat yang berjalan Android 4.4 dan yang lebih lama.
  • Menambahkan DocumentFile ke kemudahan transisi dari File saat bekerja dengan hierarki dokumen. Namun, kelas ini menuntut lebih banyak overhead pemrosesan dibandingkan dengan DocumentsContract API ditambahkan di Android 4.4 (level API 19). Jadi, Anda harus beralih menggunakan DocumentsContract saat menjalankan Android 4.4 dan lebih tinggi.
Perubahan untuk compat v7 library:
  • Menambahkan dukungan untuk material mendesain antarmuka pengguna.
  • Menambahkan Toolbar, yang menggeneralisasi fungsi ActionBar untuk gunakan dalam tata letak aplikasi.
  • Diperbarui pada ActionBarDrawerToggle, yang berisi animasi menu-ke-panah
  • Mengupdate widget antarmuka pengguna umum untuk memungkinkan pewarnaan melalui tema saat menjalankan di perangkat pra-Android 5.0
  • Menambahkan SwitchCompat, backport dari widget Switch yang ditambahkan di Android 4.0 (level API 14).
Library cardview v7 baru:
  • Menambahkan widget CardView, yang menyediakan implementasi yang kompatibel dengan desain material untuk menampilkan item data.
Pimpinan v7 baru v7 library:
  • Menambahkan widget RecyclerView, yang menyediakan tampilan daftar fleksibel untuk menyediakan periode terbatas ke dalam set data yang besar.
Library palet v7 baru:
  • Menambahkan class Palette, yang memungkinkan Anda mengekstrak warna yang menonjol dari gambar.
Library leanback v17 baru:

Revisi 20

Juli 2014

Perubahan untuk support library v4:
  • Menambahkan dukungan notifikasi yang diperluas untuk Android Wear di NotificationCompat.WearableExtender, yang memungkinkan Anda untuk menentukan fitur khusus perangkat wearable di notifikasi.
  • Menambahkan NotificationCompat.Action.WearableExtender, yang memungkinkan tindakan ditambahkan pada notifikasi perangkat wearable.
  • Menambahkan NotificationManagerCompat, yang memungkinkan Anda untuk mengeluarkan notifikasi yang mendukung fitur wearable dengan baik.
  • Menambahkan RemoteInput, yang memungkinkan perangkat genggam untuk menerima input suara dari notifikasi yang muncul di perangkat wearable.
  • Meningkatkan penanganan respons sentuh di SwipeRefreshLayout.

Revisi 19.1.0

Maret 2014

Perubahan untuk support library v4:
  • Menambahkan class SwipeRefreshLayout, yang memungkinkan pengguna memuat ulang konten tampilan dengan gestur geser.
  • 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 menyetel nilai header HTTP dan media durasi pemutaran.
  • Menambahkan tindakan mulai, dapatkan, dan akhiri sesi yang eksplisit untuk mengelola media secara eksplisit sesi pemutaran dengan router media.

Revisi 18

Juli 2013

Perubahan untuk support library v4:
  • Antarmuka pengguna
    • Menambahkan BidiFormatter untuk penanganan {i>string<i} teks yang menggabungkan teks berformat kanan ke kiri dan kiri ke kanan.
    • Mengubah ViewPager untuk menangani kasus dengan lebih baik Pager memiliki lebar terukur nol dalam pemrosesan tata letak awal.
    • Diubah DrawerLayout dan SlidingPaneLayout agar tidak menampilkan pengecualian untuk pengukuran saat kode proyek sedang diedit.
  • Fitur
  • Media
    • Menambahkan class bantuan TransportMediator untuk dikelola mengontrol transmisi media, seperti putar, jeda, lewati, dan tindakan media lainnya.
    • Menambahkan DisplayManagerCompat untuk mengelola menampilkan {i>output<i} ke satu atau beberapa layar perangkat.
  • Perubahan lain
Library appcompat v7 baru:
  • Menambahkan ActionBar untuk memungkinkan implementasi desain antarmuka pengguna bilah tindakan pola kembali ke Android 2.1 (API level 7) dan yang lebih baru. Penggunaan class ini memerlukan Anda mengimplementasikan aktivitas dengan memperluas Class ActionBarActivity.
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 media dan aliran dari perangkat saat ini ke layar eksternal, speaker, dan perangkat tujuan lainnya, dengan kompatibilitas hingga ke Android 2.1 (level API 7). Lihat V7 library mediarouter untuk mengetahui informasi selengkapnya.

API library mediarouter v7 yang diperkenalkan dalam Dukungan Library r18 dapat berubah dalam revisi Support mendatang {i>Library<i}. Saat ini, kami sarankan untuk menggunakan library ini hanya dalam kaitannya dengan dengan Google Cast pratinjau developer.

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 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 proses tata letak untuk ViewPager.
  • Memperbaiki masalah SearchViewCompat saat menggunakan tombol kembali untuk menutup tidak menghapus teks penelusuran. Perbaikan ini hanya berlaku untuk 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 dalam Android 4.1 (API level 16) dengan tambahan pada NotificationCompat.

Revisi 9

Juni 2012

Perubahan untuk support library v4:

Revisi 8

April 2012

Perubahan untuk support library v4:
  • Memperbaiki flag intent untuk objek PendingIntent yang dibuat paling lambat TaskStackBuilder.
  • Menghapus atribut yang tidak digunakan dari project library gridlayout untuk memastikan library dapat dibuat dengan API level 7 dan yang lebih tinggi.
  • Menambahkan file .classpath dan .project untuk gridlayout project library.

Revisi 7

Maret 2012

Perubahan untuk support library v4:
  • Menambahkan ShareCompat, yang menyediakan class bantuan untuk mengirim dan menerima konten untuk aplikasi berbagi ke media sosial, termasuk metadata baru untuk mengatribusikan data bersama 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 penerapan Pedoman Desain Android untuk navigasi. Ini mencakup cara menerapkan tombol Up panel tindakan di seluruh versi. Untuk contoh implementasi pola ini, lihat contoh AppNavigation di (<em><sdk></em>/samples/<em><platform></em>/AppNavigation).
  • Menambahkan NotificationCompat.Builder untuk memberikan implementasi kompatibilitas class helper Notification.Builder Android 3.0 untuk membuat notifikasi sistem terstandardisasi.

Revisi 6

Desember 2011

Catatan: Referensi untuk API support library kini tersedia dengan 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 setelan defaultnya adalah tidak judul untuk setiap halaman.
    • Menambahkan PagerTitleStrip, judul non-interaktif , yang dapat ditambahkan sebagai turunan ViewPager. Developer dapat menyediakan teks tampilan dan warna, serta ukuran tata letak dan informasi gravitasi.
    • Memperbarui metode PagerAdapter untuk menggunakan ViewGroup , bukan View untuk menghindari transmisi class dalam implementasi adaptor.
    • Memperbarui ViewPager untuk menggunakan gaya Peluncur mengayunkan jari.
    • 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 Accessibility API:
    • Metode AccessibilityDelegateCompat diperbarui untuk mengembalikan daftar kosong dan bukan {i>null<i}.
    • 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:
  • EdgeEffectCompat ditambahkan ke mendukung EdgeEffect.
  • Menambahkan LocalBroadcastManager untuk memudahkan aplikasi mendaftar dan menerima intent dalam satu aplikasi tanpa menyiarkannya secara global.
  • Menambahkan dukungan di ViewCompat untuk memeriksa dan menetapkan overscroll untuk View pada 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 kustom, untuk data instance non-konfigurasi.
    • Beragam perbaikan bug.
  • Memperbaiki bug Loader yang menyebabkan masalah pada membatalkan AsyncTask saat menggunakan Froyo dan yang lebih lama versi dasar dari platform tersebut. Dukungan kode sekarang menggunakan AsyncTask versinya sendiri untuk 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 (hanya tersedia di library dukungan) yang memungkinkan Anda membuat UI dengan pembagian halaman horizontal, yang memungkinkan pengguna menggeser ke kiri dan kanan di antara tampilan konten. Kelas ke mendukung hal ini termasuk:
    • ViewPager: ViewGroup yang mengelola untuk tampilan turunan, yang bisa digeser pengguna.
    • PagerAdapter: Adaptor yang mengisi ViewPager dengan yang mewakili setiap halaman.
    • FragmentPagerAdapter: Perluasan PagerAdapter untuk membalik antar-fragmen.
    • FragmentStatePagerAdapter: Perluasan PagerAdapter untuk beralih antar-fragmen yang menggunakan dukungan library untuk Fragment.SavedState.
Support library v13 baru:
  • Mencakup FragmentPagerAdapter dan FragmentStatePagerAdapter untuk mendukung paging horizontal.

    Ini sama persis dengan API yang ditambahkan ke pustaka dukungan v4, namun bergantung pada komponen platform lainnya di Android 3.2. Gunakan pustaka ini, alih-alih v4, jika Anda mengembangkan Android 3.2 dan yang lebih tinggi (semua API lain dalam library v4 sudah tersedia dengan level API 13.)

Revisi 2

Mei 2011

Perubahan untuk library v4:

Revisi 1

Maret 2011

Rilis awal dengan library v4.