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