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.
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'ı](https://developer.android.com/static/images/appwidgets/widget-weather.png?authuser=7&hl=tr)
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](https://developer.android.com/static/images/appwidgets/example-lightmode.png?authuser=7&hl=tr)
![Koyu mod temasındaki widget'lar](https://developer.android.com/static/images/appwidgets/example-darkmode.png?authuser=7&hl=tr)
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.
![](https://developer.android.com/static/images/appwidgets/home.png?authuser=7&hl=tr)
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.