Peningkatan widget Android 12

Android 12 (API level 31) mengubah Widget API yang ada untuk meningkatkan pengalaman pengguna dan developer di platform dan peluncur. Gunakan panduan ini untuk mempelajari cara memastikan widget Anda kompatibel dengan Android 12, dan juga sebagai referensi API untuk memuat ulang widget yang ada.

Teks alternatif

Memastikan widget Anda kompatibel dengan Android 12

Widget di Android 12 memiliki sudut bulat. Saat widget aplikasi digunakan di perangkat yang menjalankan Android 12 atau yang lebih tinggi, peluncur secara otomatis mengidentifikasi latar belakang widget dan memangkasnya agar memiliki sudut bulat.

Dalam skenario ini, widget Anda mungkin tidak akan ditampilkan dengan benar dalam salah satu kondisi berikut:

  • Widget berisi konten di sudut: Hal ini dapat menyebabkan beberapa konten di area sudut terpotong.

  • Widget menggunakan latar belakang yang tidak mudah dipangkas. Ini mencakup latar belakang transparan, tampilan kosong atau tata letak, atau jenis latar belakang khusus lainnya yang tidak rentan dipangkas. Sistem mungkin tidak dapat mengidentifikasi latar belakang yang akan digunakan dengan benar.

Jika widget Anda terpengaruh oleh perubahan ini, sebaiknya refresh widget dengan sudut bulat (seperti yang dijelaskan di bagian berikut) untuk memastikan widget ditampilkan dengan benar.

Menggunakan sampel

Untuk melihat semua API ini bekerja, lihat widget daftar contoh kami.

Menerapkan sudut bulat

Android 12 memperkenalkan parameter sistem system_app_widget_background_radius dan system_app_widget_inner_radius untuk menyetel radius sudut bulat widget Anda.

Widget cuaca di Tokyo
Gambar 1: Sudut bulat pada widget dan tampilan dalam widget

1 Sudut widget.

2 Sudut tampilan di dalam widget.

Untuk mengetahui detailnya, lihat Menerapkan sudut bulat.

Menambahkan tema perangkat

Mulai di Android 12, widget dapat menggunakan warna tema perangkat untuk tombol, latar belakang, dan komponen lainnya, termasuk tema terang dan gelap. Hal ini memungkinkan transisi dan konsistensi yang lebih lancar di berbagai widget.

Lihat Menambahkan tema perangkat untuk informasi selengkapnya.

Widget dalam tema mode terang
Gambar 2: Widget dalam tema terang
Widget dalam tema mode gelap
Gambar 3: Widget dalam tema gelap

Mempermudah personalisasi widget

Jika Anda menentukan aktivitas konfigurasi dengan atribut configure dari appwidget-provider, host Widget Aplikasi akan meluncurkan aktivitas tersebut segera setelah pengguna menambahkan widget ke layar utama.

Android 12 menambahkan opsi baru yang memungkinkan Anda memberikan pengalaman konfigurasi yang lebih baik bagi pengguna. Lihat Memungkinkan pengguna mengonfigurasi widget untuk detailnya.

Menambahkan tombol compound baru

Android 12 menambahkan dukungan baru untuk perilaku stateful dengan menggunakan komponen yang ada berikut:

Widget tetap stateless. Aplikasi Anda harus menyimpan status dan mendaftar peristiwa perubahan status.

Gambar 4: Contoh widget dengan kotak centang

Untuk mengetahui detailnya, lihat Dukungan untuk perilaku stateful.

Menggunakan API yang ditingkatkan untuk ukuran dan tata letak widget

Mulai di Android 12, Anda dapat memanfaatkan atribut dengan ukuran yang lebih baik dan tata letak yang lebih fleksibel, dengan menentukan batasan ukuran widget tambahan dan dengan menyediakan tata letak responsif serta tata letak yang tepat.

Lihat Menyediakan tata letak widget yang fleksibel untuk mengetahui detailnya.

Meningkatkan pengalaman alat pilih widget aplikasi

Android 12 memungkinkan Anda meningkatkan pengalaman alat pilih widget untuk aplikasi dengan menambahkan pratinjau widget dinamis dan deskripsi widget. Untuk mengetahui detailnya, lihat Menambahkan pratinjau widget skalabel ke alat pilih widget dan Menambahkan deskripsi untuk widget Anda.

Mengaktifkan transisi yang lebih lancar

Di Android 12, peluncur memberikan transisi yang lebih lancar saat pengguna meluncurkan aplikasi Anda dari widget. Lihat Mengaktifkan transisi yang lebih lancar untuk mengetahui detailnya.

Menggunakan koleksi RemoteViews yang disederhanakan

Android 12 menambahkan metode setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items), yang memungkinkan aplikasi meneruskan koleksi secara langsung saat mengisi ListView. Sebelumnya, saat menggunakan ListView, penting untuk menerapkan dan mendeklarasikan RemoteViewsService agar menampilkan RemoteViewsFactory.

Untuk mengetahui detailnya, lihat Menggunakan koleksi RemoteViews.

Menggunakan modifikasi runtime RemoteViews

Android 12 menambahkan beberapa metode RemoteViews yang memungkinkan modifikasi runtime atribut RemoteViews. Lihat referensi API RemoteViews untuk mengetahui daftar lengkap metode yang ditambahkan.

Untuk mengetahui detailnya, lihat Menggunakan modifikasi runtime RemoteViews.