Catatan: Dengan dirilisnya Android 9.0 (API level 28), ada
support library versi baru yang disebut
AndroidX, yang merupakan bagian dari Jetpack.
Library AndroidX
berisi support library yang ada, juga menyertakan komponen Jetpack terbaru.
Anda dapat terus menggunakan support library ini.
Artefak historis (versi 27 dan yang lebih lama, serta yang dikemas sebagai android.support.*
) akan
tetap tersedia di Google Maven. Namun, semua pengembangan library baru
akan terjadi di library AndroidX.
Kami merekomendasikan penggunaan library AndroidX di semua project baru. Sebaiknya Anda juga mempertimbangkan untuk
memigrasikan project yang ada ke AndroidX.
Support Library menyediakan aneka class untuk membuat aplikasi, dari komponen aplikasi dasar, widget antarmuka pengguna, penanganan media, hingga komponen aplikasi TV. Banyak dari class tersebut yang kompatibel untuk diimplementasikan pada versi sebelumnya, tetapi beberapa di antaranya merupakan fitur yang sepenuhnya baru.
Dokumen ini menyajikan ringkasan berbagai kategori penting fitur yang tersedia pada support library, dan class khusus yang perlu diketahui saat mem-build aplikasi.
Untuk informasi tentang cara menambahkan kode support library ke project pengembangan aplikasi Anda, lihat Penyiapan Support Library. Untuk informasi tentang cara menyertakan paket support library tertentu dalam project Anda, lihat Paket Support Library.
Komponen Aplikasi
Class Support Library di bawah ini mendukung implementasi yang kompatibel dengan versi lama untuk sejumlah fitur platform inti dan penting. Implementasi tersebut biasanya memperluas kapabilitas versi class sebelumnya untuk menangani metode dan fitur baru yang ditambahkan dalam rilis platform yang lebih baru. Beberapa class berikut merupakan implementasi statis lengkap dari API framework.
- Aktivitas
ActivityCompat
- Mencakup implementasi yang kompatibel dengan versi lama untuk sejumlah fitur aktivitas penting terbaru, seperti Izin Runtime dan transisi animasi.FragmentActivity
- Menyediakan implementasi yang kompatibel dengan versi lama untuk aktivitas agar dapat menggunakan versi support libraryFragment
danLoader
API.AppCompatActivity
- Menyediakan tema warna Material, penambahan tint widget, dan dukungan panel aplikasi ke perangkat versi lama. Penggunaan class ini mengharuskan penggunaan temaTheme.AppCompat
untuk menciptakan presentasi visual yang konsisten.
Fragment
- Menyediakan implementasi mandiri untuk classFragment
framework. Class ini harus digunakan denganFragmentActivity
.ContextCompat
- Menyediakan dukungan untuk berbagai fitur yang diperkenalkan dalam rilis classContext
yang lebih baru, termasuk dukungan izin, akses file, dan informasi warna.IntentCompat
- Menyediakan dukungan untuk berbagai fitur yang diperkenalkan dalam rilis classIntent
yang lebih baru, termasuk metode untuk memilih dan memulai aktivitas tertentu.Loader
- Menyediakan implementasi statis dari classLoader
framework, dan merupakan class dasar untuk class dukunganAsyncTaskLoader
danCursorLoader
.Preference
- Class ini dan subclass-nya menyediakan implementasi antarmuka pengguna setelan aplikasi sedemikian rupa sehingga kompatibel dengan versi lama.ContentResolverCompat
- Menyediakan dukungan untuk berbagai fitur yang diperkenalkan dalam rilis classContentResolver
yang lebih baru, khususnya metodequery()
dengan dukungan untuk membatalkan kueri yang sedang berlangsung.
Antarmuka Pengguna
Class support library berikut menyediakan implementasi widget dan perilaku antarmuka pengguna utama, dan membantu Anda membuat antarmuka aplikasi yang lebih modern pada perangkat generasi lebih awal. Beberapa dari widget ini hanya tersedia melalui support library.
Container tata letak dengan kegunaan umum
Class dukungan di bawah ini menyediakan container antarmuka pengguna yang dapat disesuaikan untuk berbagai kasus penggunaan desain.
RecyclerView
- Membuat tata letak untuk menampilkan daftar berukuran panjang, dengan strategi untuk menghindari pemakaian memori yang tinggi. Dengan class ini, Anda dapat membuat jendela terbatas untuk menampilkan set data yang lebih besar, sehingga menghindari penggunaan memori yang tinggi saat menampilkan daftar. Untuk informasi selengkapnya tentang penggunaanRecyclerView
, lihat panduan Recycler View.ViewPager
- Menyediakan tata letak yang memungkinkan pengguna membalik halaman data ke kiri dan ke kanan.GridLayout
- Menyediakan tata letak beserta turunannya dalam petak persegi panjang, yang mendukung sembarang rentang sel yang berdekatan dan distribusi ruang yang fleksibel. Class ini kompatibel dengan classGridLayout
versi lama, yang diperkenalkan pada Android 4.0 (API level 14).PercentFrameLayout
danPercentRelativeLayout
- Menyediakan tata letak yang mendukung dimensi dan margin berbasis persentase untuk tampilan turunan dan kontennya.
Catatan: Class ViewPager
, RecyclerView
, PercentFrameLayout
, dan PercentRelativeLayout
hanya tersedia
dari Support Library.
Container tata letak dengan tujuan khusus
Class dukungan ini menyediakan implementasi yang kompatibel untuk pola tata letak tertentu, seperti tampilan panel samping yang dapat ditarik dari tepi layar, panel geser, dan daftar bersarang dalam daftar.
DrawerLayout
- Membuat tata letak yang memungkinkan tampilan panel samping interaktif dapat ditarik dari tepi jendela tampilan.SlidingPaneLayout
- Menyediakan tata letak horizontal multi-panel untuk digunakan di tingkat atas antarmuka pengguna aplikasi untuk membuat tata letak yang dapat menyesuaikan dengan lancar ke berbagai ukuran layar, yang akan memperluas layar yang lebih besar dan menciutkan tampilan agar pas pada layar yang lebih kecil.NestedScrollView
- Tata letak scrolling yang mendukung hierarki tampilan scrolling lainnya, sehingga Anda dapat membuat daftar beserta item yang berisi daftar turunan tambahan. Daftar bersarang ini dapat memuat item yang dapat di-scroll secara horizontal atau vertikal, terpisah dari daftar induk.SwipeRefreshLayout
- Menyediakan tata letak untuk mendukung pemuatan ulang data bagi daftar atau tata letak lainnya dengan gestur geser jari.
Tampilan, dialog, dan widget
Support library menyediakan sejumlah class untuk menampilkan konten dan memberikan elemen interaksi pengguna pada suatu tata letak.
CardView
- Class support library kustom untuk membuat kartu tampilan gaya Desain Material. Class ini didasarkan pada FrameLayout dengan sudut bulat dan drop shadow.AppCompatDialogFragment
- Menyediakan dialog bergaya konsisten dengan memperluasDialogFragment
dan menggunakanAppCompatDialog
.NotificationCompat
- Menyediakan dukungan untuk gaya notifikasi yang lebih baru dengan cara yang kompatibel dengan versi lama.SearchView
- Menyediakan class bagi pengguna untuk memasukkan kueri penelusuran dan mengirimkan permintaan ke penyedia penelusuran, yang terutama ditujukan untuk digunakan pada panel aplikasi.
Desain Material
Support library menyediakan sejumlah class untuk menerapkan rekomendasi antarmuka pengguna Desain Material.
CoordinatorLayout
- Menyediakan container tingkat atas untuk tata letak yang menggabungkan komponen dan perilaku Desain Material. Class ini juga dapat digunakan sebagai container untuk interaksi spesifik dengan satu atau beberapa tampilan turunan.AppBarLayout
- Menyediakan implementasi bagi banyak fitur scrolling pada konsep panel aplikasi Desain Material.FloatingActionButton
- Membuat tombol mengambang untuk menampilkan tindakan yang dipromosikan jenis khusus. Elemen antarmuka pengguna Desain Material ini ditampilkan sebagai ikon melingkar yang mengambang di atas antarmuka pengguna aplikasi. Untuk informasi lebih lanjut, lihat Menambahkan Tombol Tindakan Mengambang (FAB).DrawerLayout
- Membuat panel navigasi— panel UI yang menampilkan menu navigasi utama aplikasi Anda. Panel ini muncul saat pengguna menggeser jari dari tepi kiri layar, atau mengetuk ikon panel samping pada panel aplikasi. Untuk informasi lebih lanjut, lihat Membuat Panel Navigasi.TabLayout
- Menyediakan tata letak untuk menampilkan halaman multi-tab. Widget ini dirancang untuk digunakan dengan classViewPager
.Snackbar
- Menyediakan widget untuk menampilkan masukan ringan tentang operasi menggunakan jendela pop-up snackbar.
Grafis
Paket android.support.graphics.drawable
menyediakan dukungan untuk
vektor drawable.
Dengan vektor drawable, Anda dapat mengganti beberapa aset PNG dengan satu
grafik vektor, yang ditetapkan dalam XML.
VectorDrawableCompat
menyediakan
dukungan untuk vektor drawable pada API level 9 ke atas. AnimatedVectorDrawableCompat
menyediakan
dukungan untuk vektor drawable animasi pada API level 11 ke atas.
Aksesibilitas
Paket android.support.v4.view.accessibility
menyediakan
class kompatibilitas untuk mengimplementasikan fitur aksesibilitas yang diperkenalkan pada
API level 14 ke atas, yang memungkinkan layanan aksesibilitas mengamati dan
mengidentifikasi interaksi pengguna dengan item yang ditampilkan di layar.
ExploreByTouchHelper
- Menyediakan dukungan aksesibilitas pada Tampilan kustom yang mewakili kumpulan item logis yang menyerupai tampilan.
Pemutaran Media
Android Support Library menyediakan backport fungsi router media untuk perangkat yang menjalankan versi platform sebelum Android 4.1 (API level 16). Class berikut mendukung kontrol pemutaran media di semua perangkat Android yang terhubung:
MediaRouter
- Memungkinkan aplikasi untuk mengontrol perutean aliran dan saluran media dari perangkat saat ini ke speaker eksternal dan perangkat tujuan.MediaControllerCompat
- Memungkinkan aplikasi berinteraksi dengan sesi media yang sedang berjalan. Aplikasi dapat menyediakan tombol kontrol media melalui mekanisme ini dan mengirim perintah pemutaran lainnya ke sesi.MediaSessionCompat
- Menyediakan antarmuka remote control untuk pemutaran media, yang memungkinkan interaksi dengan pengontrol media, tombol volume, tombol media, dan kontrol transport di aplikasi lain atau di perangkat terpisah.
Aplikasi TV
SDK Android menyediakan library untuk mendukung faktor bentuk seperti layar TV dan pengontrol terkaitnya. Sebuah aplikasi dapat mengandalkan support library yang sesuai untuk menyediakan fungsi di berbagai versi platform, dan dapat menampilkan konten pada layar eksternal, speaker, dan perangkat tujuan lainnya.
- Paket android.support.v17.leanback.*
Aplikasi Wear
SDK Android menyediakan library untuk mendukung jam tangan. Library ini memberikan fungsi ke aplikasi yang tersedia bagi pengguna setiap kali mereka memakai smartwatch.
- Paket android.support.wear.*
Utilitas
Android Support Library menawarkan sejumlah fitur yang tidak tertanam pada framework. Library ini menawarkan berbagai utilitas yang dapat digunakan aplikasi.
- Paket android.support.v4.util