Android 12 widget'larıyla ilgili iyileştirmeler

Android 12 (API düzeyi 31), platform ve başlatıcılarda kullanıcı ve geliştirici deneyimini iyileştirmek için mevcut Widgets API'yi yeniler. Widget'ınızın Android 12 ile uyumlu olmasını nasıl sağlayacağınızı öğrenmek ve mevcut widget'ınızı yenileme konusunda API referansları olarak kullanmak için bu kılavuzu kullanın.

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ı otomatik olarak widget'ın arka planını tanımlar ve köşeleri yuvarlatacak şekilde kırpar.

Bu senaryoda, widget'ınız aşağıdaki durumlardan herhangi birinde düzgün bir ş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ırpılmaya açık olmayan bir arka plan kullanıyor. Buna şeffaf bir arka plan, boş görünümler veya düzenler ya da kırpılmaya açık olmayan diğer özel arka plan türleri dahildir. Sistem, kullanılacak arka planı doğru şekilde tanımlayamayabilir.

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

Örneği kullan

Tüm bu API'lerin işleyiş şeklini 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ıçaplarını ayarlamak için 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çindeki görünüm

1 Widget'ın köşesi.

2 Widget'taki görünümün köşesi.

Ayrıntılı bilgi için Yuvarlak köşeler uygulama başlıklı makaleyi inceleyin.

Cihaz teması ekle

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

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

Açık mod temasındaki 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ının widget'ı ana ekranına eklemesinden hemen sonra bu etkinliği başlatır.

Android 12, kullanıcılara daha iyi yapılandırma deneyimi sunmak için 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 ekle

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

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

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

Ayrıntılar için Durum bilgili davranış desteği başlıklı makaleye bakın.

Widget boyutları ve düzenleri için iyileştirilmiş API'ler kullanın

Android 12'den itibaren, ek widget boyutlandırma kısıtlamaları belirterek ve duyarlı düzenler ile tam düzenler sağlayarak daha hassas boyut özelliklerinden ve 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ılı bilgi 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 sağlayın

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

Basitleştirilmiş RemoteViews koleksiyonlarını kullanın

Android 12, bir ListView doldurulurken uygulamanızın doğrudan bir koleksiyon iletmesini sağlayan setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) yöntemini ekler. Daha önce, bir ListView kullanılırken RemoteViewsFactory döndürülmesi için bir RemoteViewsService uygulanması ve bildirilmesi gerekiyordu.

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

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