Android 12 widget'larında yapılan iyileştirmeler

Android 12 (API düzeyi 31), platform ve başlatıcılardaki kullanıcı ve geliştirici deneyimini iyileştirmek için mevcut Widget API'sini yeniledi. Widget'ınızın Android 12 ile uyumlu olmasını nasıl sağlayacağınızı öğrenmek için bu kılavuzu kullanın. Ayrıca, mevcut widget'ınızı yenilemek için API'lere referans olarak da bu kılavuzdan yararlanabilirsiniz.

Alternatif metin

Widget'ınızın Android 12 ile uyumlu olduğundan emin olun

Android 12'deki widget'ların köşeleri yuvarlatılmıştır. Android 12 veya sonraki sürümleri çalıştıran bir cihazda uygulama widget'ı kullanıldığında başlatıcı, widget'ın arka planını otomatik olarak tanımlar ve köşeleri yuvarlatacak şekilde kırpar.

Bu senaryoda widget'ınız aşağıdaki koşullardan birinde düzgün şekilde görüntülenmeyebilir:

  • Widget'ın köşelerinde içerik var: Bu durum, köşe alanındaki bazı içeriklerin kırpılmasına neden olabilir.

  • Widget, kırpmaya uygun olmayan bir arka plan kullanıyor. Şeffaf arka planlar, boş görünümler veya düzenler ya da kırpılmaya uygun olmayan diğer özel arka planlar buna dahildir. Sistem, kullanılacak arka planı doğru şekilde tanımlayamayabilir.

Widget'ınız bu değişiklikten etkilenecekse düzgün şekilde gösterildiğinden emin olmak için köşeleri yuvarlatılmış şekilde yenilemenizi öneririz (aşağıdaki bölümde açıklandığı şekilde).

Örneği kullanma

Bu API'lerin tümünü çalışırken görmek için örnek liste widget'ımıza göz atın.

Yuvarlatılmış köşeler uygulama

Android 12, widget'ınızın yuvarlatılmış köşelerinin yarıçapını ayarlamak için system_app_widget_background_radius ve system_app_widget_inner_radius sistem parametrelerini kullanıma sunar.

Tokyo hava durumu widget'ı
Şekil 1: Widget'ın köşeleri yuvarlatılmış ve widget'ın içinde bir görünüm

1 Widget'ın köşesi.

2 Widget'ın içindeki bir görünümün köşesi.

Ayrıntılar için Yuvarlatılmış köşeler uygulama başlıklı makaleyi inceleyin.

Cihaz teması ekleme

Android 12'den itibaren widget'lar, düğmeler, arka planlar ve açık ve koyu temalar da dahil olmak üzere diğer bileşenler için cihaz teması renklerini kullanabilir. Bu sayede farklı widget'lar arasında daha sorunsuz geçişler ve tutarlılık sağlanır.

Daha fazla bilgi için Cihaz teması ekleme başlıklı makaleyi inceleyin.

Açık mod temasında widget
Şekil 2: Açık temalı widget
Koyu mod temasında widget'lar
Şekil 3: Koyu temalı widget

Widget'ları özelleştirmeyi kolaylaştırma

appwidget-provider öğesinin configure özelliğiyle bir yapılandırma etkinliği belirtirseniz Uygulama Widget'ı ana makinesi, kullanıcının widget'ı ana ekranına eklemesinden hemen sonra bu etkinliği başlatır.

Android 12, kullanıcılara daha iyi bir yapılandırma deneyimi sunmanıza olanak tanıyan yeni seçenekler ekler. Ayrıntılar için Kullanıcıların widget'ları yapılandırmasını etkinleştirme başlıklı makaleyi inceleyin.

Yeni birleşik düğmeler ekleme

Android 12, aşağıdaki mevcut bileşenleri kullanarak durum bilgisine sahip davranış için yeni destek ekler:

Widget hâlâ durum bilgisine sahip değil. Uygulamanız durumu depolamalı ve durum değişikliği etkinliklerine kaydolmalıdır.

Şekil 4: Onay kutuları içeren örnek widget

Ayrıntılar için Durum bilgisine sahip davranış desteği başlıklı makaleyi inceleyin.

Widget boyutları ve düzenleri için geliştirilmiş API'leri kullanma

Android 12'den itibaren, ek widget boyutlandırma kısıtlamaları belirterek ve duyarlı ve tam sayfa düzenler sağlayarak daha hassas boyut özelliklerinden ve daha esnek düzenlerden yararlanabilirsiniz.

Ayrıntılar için Esnek widget düzenleri sağlama başlıklı makaleyi inceleyin.

Uygulamanızın widget seçici deneyimini iyileştirme

Android 12, dinamik widget önizlemeleri ve widget açıklamaları ekleyerek uygulamanızdaki widget seçici deneyimini iyileştirmenize olanak tanır. Ayrıntılar için Widget seçiciye ölçeklenebilir widget önizlemeleri ekleme ve Widget'ınız için açıklama ekleme başlıklı makalelere göz atın.

Daha akıcı geçişler yapma

Android 12'den itibaren başlatıcılar, kullanıcılar uygulamanızı widget'tan başlattığında daha sorunsuz bir geçiş sağlar. Ayrıntılar için Daha sorunsuz geçişler etkinleştirme başlıklı makaleyi inceleyin.

Basitleştirilmiş RemoteViews koleksiyonlarını kullanma

Android 12, ListView doldururken uygulamanızın doğrudan bir koleksiyonu iletmesine olanak tanıyan setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) yöntemini ekler. Önceden, ListView kullanırken RemoteViewsFactory döndürmek için bir RemoteViewsService uygulamak ve beyan etmek gerekiyordu.

Ayrıntılı bilgi için RemoteViews koleksiyonlarını kullanma başlıklı makaleyi inceleyin.

RemoteViews için çalışma zamanı değişikliğini kullanma

Android 12, RemoteViews özelliklerinin çalışma zamanında değiştirilmesine olanak tanıyan çeşitli RemoteViews yöntemleri ekler. Eklenen yöntemlerin tam listesi için RemoteViews API referansına bakın.

Ayrıntılar için RemoteViews'un çalışma zamanındaki değişikliğini kullanma başlıklı makaleyi inceleyin.