Android ↗12 widget iyileştirmeleri

Android 12 (API düzeyi 31), platformda ve başlatıcılarda kullanıcı ve geliştirici deneyimini iyileştirmek için mevcut Widget API'sini yeniler. Widget'ınızın Android 12 ile uyumlu olmasını nasıl sağlayacağınızı öğrenmek ve mevcut widget'ınızı yenilemek için API'lere referans vermek amacıyla 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. Bir uygulama widget'ı Android 12 veya sonraki sürümleri çalıştıran bir cihazda kullanıldığında, başlatıcı otomatik olarak widget'ın arka planını belirler ve köşeleri yuvarlak olacak ş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 duyarlı olmayan bir arka plan kullanıyor. Buna şeffaf bir arka plan, boş görünümler veya düzenler ya da kırpılmaya uygun olmayan diğer türlerdeki özel arka planlar dahildir. Sistem, kullanılacak arka planı doğru şekilde tanımlayamayabilir.

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

Örneği kullan

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 uygulayın

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

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

1 Widget'ın köşesi.

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

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

Cihaz teması ekle

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

Daha fazla bilgi için Cihaz teması ekleme başlıklı makaleye bakın.

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

Widget'ları kişiselleştirmeyi kolaylaştırın

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

Android 12, kullanıcılara daha iyi bir yapılandırma deneyimi sunmanızı sağlayan yeni seçenekler ekler. Ayrıntılar için Kullanıcıların widget'ları yapılandırmasına izin verme bölümüne bakın.

Yeni birleşik düğmeler ekleme

Android 12, aşağıdaki mevcut bileşenleri kullanarak durum bilgili davranış için yeni destek sağlar:

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

Şekil 4: Onay kutuları olan örnek widget

Ayrıntılar için Durum bilgili davranış desteği başlıklı makaleye göz atın.

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

Android 12'den itibaren, ek widget boyutu sınırlamaları belirterek ve duyarlı düzenler ile tam düzenler sağlayarak daha hassas boyut özellikleri ve daha esnek düzenlerden yararlanabilirsiniz.

Ayrıntılar için Esnek widget düzenleri sağlama bölümüne bakın.

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

Android 12, dinamik widget önizlemeleri ve widget açıklamaları ekleyerek uygulamanızın 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 konularına bakın.

Daha yumuşak geçişler etkinleştirin

Android 12'den itibaren, bir kullanıcı uygulamanızı bir widget'tan başlattığında başlatıcılar daha sorunsuz bir geçiş sağlar. Ayrıntılar için Daha sorunsuz geçişleri etkinleştirme bölümüne bakın.

Basitleştirilmiş RemoteViews koleksiyonlarını kullanma

Android 12'de, ListView doldurulurken uygulamanızın doğrudan bir koleksiyon iletmesine olanak tanıyan setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) yöntemi eklenir. Daha önce, ListView kullanılırken RemoteViewsFactory döndürülmesi için bir RemoteViewsService uygulanması ve bildirilmesi gerekiyordu.

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

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

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 çalışma zamanı değişikliğini kullanma bölümünü inceleyin.