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.
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](https://developer.android.com/static/images/appwidgets/widget-weather.png?authuser=19&hl=id)
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](https://developer.android.com/static/images/appwidgets/example-lightmode.png?authuser=19&hl=id)
![Widget dalam tema mode gelap](https://developer.android.com/static/images/appwidgets/example-darkmode.png?authuser=19&hl=id)
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.
![](https://developer.android.com/static/images/appwidgets/home.png?authuser=19&hl=id)
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
.