Panduan Fitur Support Library

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 dipaketkan 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 pertimbangkan juga untuk memigrasikan project yang ada ke AndroidX.

Support Library menyediakan berbagai class untuk membangun aplikasi, mulai dari komponen aplikasi dasar, widget antarmuka pengguna, penanganan media, hingga komponen aplikasi TV. Banyak class yang kompatibel dengan implementasinya, tetapi beberapa di antaranya merupakan fitur baru yang tersendiri.

Dokumen ini memberikan ringkasan kategori fitur penting yang tersedia di support library, dan class tertentu yang harus Anda ketahui saat mem-build aplikasi.

Untuk informasi cara menambahkan kode support library ke project pengembangan aplikasi Anda, lihat Penyiapan Support Library. Untuk informasi cara menyertakan paket support library tertentu dalam project Anda, lihat Paket Support Library.

Komponen Aplikasi

Class Support Library ini menyediakan implementasi yang kompatibel dengan versi lama untuk berbagai fitur platform inti dan penting. Implementasi ini biasanya memperluas 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 fitur aktivitas utama terbaru, seperti Izin Runtime dan transisi animasi.
    • FragmentActivity - Menyediakan implementasi yang kompatibel dengan versi lama untuk aktivitas agar dapat menggunakan versi support library Fragment dan Loader API.
    • AppCompatActivity - Menyediakan tema warna Material, penambahan tint widget, dan dukungan panel aplikasi ke perangkat versi lama. Penggunaan class ini mengharuskan Anda menggunakan tema Theme.AppCompat untuk presentasi visual yang konsisten.
  • Fragment - Menyediakan implementasi mandiri dari class Fragment framework. Class ini harus digunakan dengan FragmentActivity.
  • ContextCompat - Menyediakan dukungan untuk berbagai fitur yang diperkenalkan dalam rilis class Context yang lebih baru, termasuk dukungan izin, akses file, dan informasi warna.
  • IntentCompat - Menyediakan dukungan untuk berbagai fitur yang diperkenalkan dalam rilis class Intent yang lebih baru, termasuk metode untuk memilih dan memulai aktivitas tertentu.
  • Loader - Menyediakan implementasi statis dari class Loader framework, dan merupakan class dasar untuk class dukungan AsyncTaskLoader dan CursorLoader.
  • 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 class ContentResolver yang lebih baru, khususnya metode query() dengan dukungan untuk membatalkan kueri yang sedang berlangsung.

Antarmuka Pengguna

Class support library ini menyediakan implementasi widget dan perilaku antarmuka pengguna utama, serta membantu Anda membuat antarmuka aplikasi yang lebih modern pada perangkat model lama. 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 panjang, dengan strategi untuk menghindari pemakaian memori yang tinggi. Class ini memungkinkan Anda membuat tampilan jendela terbatas ke set data yang lebih besar, sehingga menghindari konsumsi memori yang besar saat menampilkan daftar. Untuk informasi selengkapnya tentang penggunaan RecyclerView, 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 menyediakan versi class GridLayout yang kompatibel dengan versi lama, yang diperkenalkan di Android 4.0 (API level 14).
  • PercentFrameLayout dan PercentRelativeLayout - Menyediakan tata letak yang mendukung dimensi dan margin berbasis persentase untuk tampilan turunannya dan kontennya.

Catatan: Class ViewPager, RecyclerView, PercentFrameLayout, dan PercentRelativeLayout hanya tersedia dari Support Library.

Container tata letak dengan kegunaan 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 ditarik dari tepi jendela tampilan.
  • SlidingPaneLayout - Menyediakan tata letak horizontal multipanel untuk digunakan di bagian atas antarmuka pengguna aplikasi untuk membuat tata letak yang dapat beradaptasi dengan lancar ke berbagai ukuran layar, yang akan diperluas pada layar yang lebih besar dan diciutkan agar pas pada layar yang lebih kecil.
  • NestedScrollView - Tata letak scroll yang mendukung penyusunan bertingkat tampilan scroll lainnya, memungkinkan Anda membuat daftar, dengan item yang berisi daftar turunan tambahan. Daftar bertingkat ini dapat berisi item yang dapat di-scroll secara horizontal atau vertikal, terpisah dari daftar induk.
  • SwipeRefreshLayout - Menyediakan tata letak untuk mendukung pemuatan ulang data untuk 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 dalam suatu tata letak.

  • CardView - Class kustom support library untuk membuat kartu tampilan gaya Desain Material. Class ini didasarkan pada FrameLayout dengan sudut membulat dan drop shadow.
  • AppCompatDialogFragment - Menyediakan dialog bergaya konsisten dengan memperluas DialogFragment dan menggunakan AppCompatDialog.
  • 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 di panel aplikasi.

Desain Material

Support library menyediakan sejumlah class untuk menerapkan rekomendasi antarmuka pengguna Desain Material.

  • CoordinatorLayout - Menyediakan container tingkat teratas untuk tata letak yang menggabungkan komponen dan perilaku Desain Material. Class ini juga dapat digunakan sebagai penampung untuk interaksi tertentu dengan satu atau beberapa tampilan turunan.
  • AppBarLayout - Menyediakan implementasi dari banyak fitur scroll 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 di panel aplikasi. Untuk informasi lebih lanjut, lihat Membuat Panel Navigasi.
  • TabLayout - Menyediakan tata letak untuk menampilkan halaman tab. Widget ini dirancang untuk digunakan dengan class ViewPager.
  • Snackbar - Menyediakan widget untuk menampilkan masukan ringan tentang operasi menggunakan pop-up snackbar.

Grafis

Paket android.support.graphics.drawable menyediakan dukungan untuk vektor drawable. Dengan menggunakan vektor drawable, Anda dapat mengganti beberapa aset PNG dengan satu grafik vektor, yang ditetapkan dalam XML.

VectorDrawableCompat memberikan dukungan untuk vektor drawable pada API level 9 ke atas. AnimatedVectorDrawableCompat memberikan dukungan untuk animasi vektor drawable pada API level 11 dan yang lebih baru.

Aksesibilitas

Paket android.support.v4.view.accessibility menyediakan class kompatibilitas untuk mengimplementasikan fitur aksesibilitas yang diperkenalkan pada API level 14 dan yang lebih baru, yang memungkinkan layanan aksesibilitas mengamati dan mengidentifikasi interaksi pengguna dengan item yang ditampilkan di layar.

  • ExploreByTouchHelper - Memberikan dukungan aksesibilitas dalam View kustom yang mewakili kumpulan item logis seperti tampilan.

Pemutaran Media

Android Support Library menyediakan backport untuk fungsi router media ke perangkat yang menjalankan versi platform sebelum Android 4.1 (API level 16). Class berikut memungkinkan kontrol pemutaran media di seluruh perangkat Android yang terhubung:

  • MediaRouter - Memungkinkan aplikasi mengontrol perutean saluran dan streaming media dari perangkat saat ini ke speaker eksternal dan perangkat tujuan.
  • MediaControllerCompat - Memungkinkan aplikasi berinteraksi dengan sesi media yang sedang berlangsung. 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

Android SDK menyediakan library untuk mendukung faktor bentuk seperti perangkat layar besar dan pengontrol terkaitnya. Suatu aplikasi dapat bergantung pada support library yang sesuai untuk menyediakan fungsi di berbagai versi platform, dan dapat menyediakan konten pada layar eksternal, speaker, dan perangkat tujuan lainnya.

Aplikasi Wear

SDK Android menyediakan library untuk mendukung smartwatch. Library ini memberikan fungsionalitas ke aplikasi yang tersedia bagi pengguna setiap kali mereka memakai smartwatch.

Utilitas

Android Support Library menawarkan sejumlah fitur yang tidak dibangun ke dalam framework ini. Library ini menawarkan berbagai utilitas yang dapat digunakan aplikasi.