Widget adalah aspek penting dalam penyesuaian layar utama. Anda dapat menganggapnya sebagai tampilan "sekilas" dari data dan fungsi aplikasi yang paling penting yang dapat diakses langsung di layar utama pengguna. Pengguna dapat memindahkan widget di panel layar utama, dan, jika didukung, mengubah ukurannya untuk menyesuaikan jumlah informasi dalam widget sesuai preferensi mereka.
Dokumentasi ini memperkenalkan berbagai jenis widget yang dapat Anda buat dan prinsip desain yang harus diikuti. Untuk membuat widget aplikasi menggunakan Remote View API dan tata letak XML, lihat Membuat widget dasar. Untuk membuat widget menggunakan API gaya Kotlin dan Compose, lihat Jetpack Glance.
Jenis widget
Saat merencanakan widget, pikirkan jenis widget yang ingin Anda buat. Widget biasanya termasuk dalam salah satu kategori berikut:
Widget informasi
Widget informasi biasanya menampilkan elemen informasi penting dan melacak perubahan informasi tersebut dari waktu ke waktu. Contoh widget informasi adalah widget cuaca, widget jam, atau widget pelacakan skor olahraga. Mengetuk widget informasi biasanya akan meluncurkan aplikasi terkait dan membuka tampilan detail informasi widget.
Widget koleksi
Widget koleksi dikhususkan untuk menampilkan beberapa elemen dengan jenis yang sama, seperti koleksi gambar dari aplikasi galeri, koleksi artikel dari aplikasi berita, atau koleksi email atau pesan dari aplikasi komunikasi. Widget koleksi dapat di-scroll secara vertikal.
Widget koleksi biasanya berfokus pada kasus penggunaan berikut:
- Menjelajahi koleksi.
- Membuka elemen koleksi ke tampilan detailnya di aplikasi terkait.
- Berinteraksi dengan elemen, seperti menandainya sebagai selesai—dengan dukungan untuk tombol gabungan di Android 12 (API level 31).
Widget kontrol
Tujuan utama widget kontrol adalah menampilkan fungsi yang sering digunakan sehingga pengguna dapat memicunya dari layar utama tanpa harus membuka aplikasi. Anda dapat menganggapnya sebagai remote control untuk aplikasi. Contoh widget kontrol adalah widget kontrol rumah yang memungkinkan pengguna menyalakan atau mematikan lampu di rumah.
Berinteraksi dengan widget kontrol dapat membuka tampilan detail terkait di aplikasi. Hal ini bergantung pada apakah fungsi widget kontrol menghasilkan data, seperti dalam kasus widget penelusuran.
Widget campuran
Meskipun beberapa widget mewakili salah satu jenis di bagian sebelumnya—informasi, koleksi, atau kontrol—banyak widget yang merupakan hibrida yang menggabungkan elemen dari berbagai jenis. Misalnya, widget pemutar musik pada dasarnya adalah widget kontrol, tetapi juga menampilkan trek yang sedang diputar kepada pengguna, seperti widget informasi.
Saat merencanakan widget, desain berdasarkan salah satu jenis dasar dan tambahkan elemen jenis lain sesuai kebutuhan.
Mengintegrasikan widget dengan Asisten Google
Semua jenis widget dapat ditampilkan oleh Asisten Google sebagai respons terhadap perintah suara pengguna. Anda dapat mengonfigurasi widget untuk memenuhi Action Aplikasi, sehingga pengguna dapat menerima jawaban cepat dan pengalaman aplikasi interaktif di platform Asisten seperti Android dan Android Auto. Untuk mengetahui detail selengkapnya tentang fulfillment widget untuk Asisten, lihat Mengintegrasikan Action Aplikasi dengan widget Android.
Batasan widget
Meskipun widget dapat dipahami sebagai "aplikasi mini", ada batasan tertentu yang penting untuk dipahami sebelum Anda mendesain widget.
Gestur
Karena widget berada di layar utama, widget harus berdampingan dengan navigasi yang dibuat di sana. Hal ini membatasi dukungan gestur yang tersedia di widget dibandingkan dengan aplikasi layar penuh. Meskipun aplikasi mungkin memungkinkan pengguna menavigasi antar-layar secara horizontal, gestur tersebut sudah digunakan di layar utama untuk tujuan menavigasi antar-layar utama.
Satu-satunya gestur yang tersedia untuk widget adalah sentuh dan geser vertikal.
Elemen
Mengingat batasan gestur yang tersedia untuk widget, beberapa elemen penyusun UI yang mengandalkan gestur terbatas tidak tersedia untuk widget. Untuk mengetahui daftar lengkap elemen penyusun yang didukung dan informasi selengkapnya tentang batasan tata letak, lihat Membuat tata letak widget dan Menyediakan tata letak widget yang fleksibel.
Panduan desain
Ikuti panduan desain ini untuk membuat pengalaman widget yang menarik, fleksibel, dan konsisten di layar utama.
Konten widget
Widget adalah cara yang bagus untuk menarik pengguna ke aplikasi Anda dengan "mengiklankan" konten baru dan menarik yang tersedia di aplikasi Anda.
Sama seperti teaser di halaman depan surat kabar, widget menggabungkan dan memusatkan informasi aplikasi serta menyediakan koneksi ke detail yang lebih lengkap dalam aplikasi. Anda dapat menganggap widget sebagai "camilan" informasi, sedangkan aplikasi adalah "makanan". Pastikan aplikasi Anda menampilkan detail selengkapnya tentang item informasi daripada yang ditampilkan widget.
Navigasi widget
Selain konten informasi murni, pertimbangkan untuk membuat widget Anda menyediakan link navigasi ke area aplikasi yang sering digunakan. Hal ini memungkinkan pengguna menyelesaikan tugas dengan lebih cepat dan memperluas jangkauan fungsional aplikasi ke layar utama.
Kandidat yang baik untuk link navigasi di widget adalah:
Fungsi generatif: ini adalah fungsi yang memungkinkan pengguna membuat konten baru untuk aplikasi, seperti membuat dokumen baru atau pesan baru.
Membuka aplikasi di tingkat teratas: mengetuk elemen informasi biasanya mengarahkan pengguna ke layar detail tingkat bawah. Memberikan akses ke tingkat teratas aplikasi Anda menawarkan fleksibilitas navigasi yang lebih besar dan dapat menggantikan pintasan aplikasi khusus yang digunakan pengguna untuk membuka aplikasi dari layar utama. Menggunakan ikon aplikasi untuk fungsi ini juga dapat memberikan identitas yang jelas pada widget jika data yang Anda tampilkan ambigu.
Pengubahan ukuran widget
Menyentuh lama widget yang dapat diubah ukurannya, lalu melepaskannya, akan mengalihkan widget ke mode pengubahan ukuran. Pengguna dapat menggunakan tuas tarik atau sudut widget untuk menetapkan ukuran yang diinginkan.
Pengubahan ukuran memungkinkan pengguna menyesuaikan tinggi dan lebar widget dalam batasan petak penempatan layar utama. Anda dapat memutuskan apakah widget dapat diubah ukurannya secara bebas atau dibatasi untuk perubahan ukuran horizontal atau vertikal. Anda tidak perlu mendukung pengubahan ukuran jika widget Anda pada dasarnya berukuran tetap.
Memungkinkan pengguna mengubah ukuran widget memiliki manfaat penting:
- Mereka dapat menyesuaikan jumlah informasi yang ingin dilihat di setiap widget.
- Mereka dapat lebih memengaruhi tata letak widget dan pintasan di panel layar utama.
Rencanakan strategi pengubahan ukuran untuk widget sesuai dengan jenis widget yang Anda buat. Widget koleksi berbasis daftar atau petak biasanya mudah, karena mengubah ukuran widget akan memperluas atau memperkecil area scroll vertikal. Terlepas dari ukuran widget, pengguna masih dapat men-scroll semua elemen informasi ke dalam tampilan.
Widget informasi memerlukan perencanaan yang lebih tepat, karena tidak dapat di-scroll dan semua konten harus sesuai dengan ukuran tertentu. Anda harus menyesuaikan konten dan tata letak widget secara dinamis dengan ukuran yang ditentukan pengguna melalui operasi pengubahan ukuran.
Dalam contoh berikut, pengguna dapat mengubah ukuran widget cuaca dalam tiga langkah, yang menampilkan informasi lebih lengkap tentang cuaca di lokasi saat ini seiring bertambahnya ukuran widget.
Untuk setiap ukuran widget, tentukan seberapa banyak informasi aplikasi Anda yang ditampilkan. Untuk ukuran yang lebih kecil, fokuskan pada informasi penting, lalu tambahkan informasi kontekstual seiring widget bertambah besar secara horizontal dan vertikal.
Pertimbangan tata letak
Anda mungkin ingin menata letak widget sesuai dengan dimensi petak penempatan perangkat yang Anda gunakan untuk mengembangkan aplikasi. Hal ini dapat menjadi perkiraan awal yang berguna, tetapi perhatikan poin-poin berikut:
- Merencanakan strategi pengubahan ukuran widget di seluruh "bucket ukuran", bukan dimensi petak variabel, akan memberikan hasil yang paling andal.
- Jumlah, ukuran, dan jarak sel dapat sangat bervariasi dari satu perangkat ke perangkat lainnya. Oleh karena itu, sangat penting agar widget Anda fleksibel dan dapat menampung lebih banyak atau lebih sedikit ruang daripada yang diperkirakan.
- Saat pengguna mengubah ukuran widget, sistem akan merespons dengan rentang ukuran dp tempat widget Anda dapat menggambar ulang dirinya sendiri.
- Mulai Android 12, Anda dapat memberikan atribut ukuran yang lebih disesuaikan dan tata letak yang lebih fleksibel. Hal ini mencakup:
- Menentukan batasan ukuran widget. Misalnya, Anda dapat menentukan ukuran target untuk widget—dalam sel petak—serta ukuran maksimum yang memungkinkan.
- Menyediakan tata letak responsif, yang berubah bergantung pada ukuran widget.
- Menyediakan tata letak ukuran persis, yang memungkinkan peluncur merespons dengan opsi ukuran untuk mode potret dan lanskap, untuk ponsel, atau dengan empat ukuran untuk perangkat foldable.
- Menggunakan panduan terbaru dan API baru untuk menentukan ukuran yang tepat untuk widget Anda.
Konfigurasi widget oleh pengguna
Terkadang, pengguna perlu menyiapkan widget sebelum dapat digunakan. Bayangkan widget email tempat pengguna harus memilih folder email sebelum kotak masuk dapat ditampilkan atau widget foto statis tempat pengguna harus menetapkan gambar dari galeri untuk ditampilkan. Widget Android menampilkan pilihan konfigurasinya tepat setelah pengguna meletakkan widget ke layar utama.
Checklist desain widget
- Fokus pada bagian kecil informasi yang dapat dilihat di widget Anda. Perluas informasi di aplikasi Anda.
- Pilih jenis widget yang tepat untuk tujuan Anda.
- Rencanakan cara konten widget Anda beradaptasi dengan berbagai ukuran.
- Buat tata letak widget Anda tidak bergantung pada orientasi dan perangkat dengan memastikan tata letak dapat diregangkan dan dikontraksikan.
- Pertimbangkan apakah widget Anda memerlukan konfigurasi tambahan.