Oluşturulan widget önizlemeleri, widget'larınız için dinamik ve kişiselleştirilmiş önizlemeler oluşturmanıza olanak tanır. Bu önizlemeler, widget'ların kullanıcının ana ekranında nasıl görüneceğini doğru bir şekilde yansıtır. Bunlar, push API aracılığıyla sağlanır. Yani uygulamanız, widget ana makinesinden açık bir istek almadan yaşam döngüsünün herhangi bir noktasında önizlemeyi sağlar.
Bu kılavuzda, Glance tabanlı widget'lar için önizlemelerin nasıl sağlanacağı açıklanmaktadır. Widget'ınız RemoteViews ile uygulanıyorsa Widget seçicinize önizleme ekleme başlıklı makaleyi inceleyin.
Uygulamanızın Glance widget'ları için widget seçici deneyimini iyileştirmek amacıyla Android 15 ve sonraki sürümleri çalıştıran cihazlarda GlanceAppWidget.providePreview kullanarak oluşturulan bir widget önizlemesi sağlayın. Daha eski sürümlerde ve oluşturulan önizleme yoksa Android 15 ve sonraki sürümlerde yedek olarak previewImage belirtin.
Daha fazla bilgi için YouTube'da Uygulamanızı canlı haberler ve widget'larla zenginleştirme başlıklı videoyu izleyin.
Uygulamanızı, oluşturulan widget önizlemeleri için ayarlama
Oluşturulan widget önizlemelerini Android 15 veya sonraki sürümlerin yüklü olduğu cihazlarda göstermek için önce modül build.gradle dosyasında compileSdk değerini 35 veya daha yüksek bir değere ayarlayarak widget seçicide oluşturulan önizlemeleri etkinleştirin.
Uygulamalar daha sonra GlanceAppWidgetManager içinde setWidgetPreview kullanabilir. Kötüye kullanımı önlemek ve sistem sağlığıyla ilgili endişeleri azaltmak için setWidgetPreview, sıklık sınırlaması olan bir API'dir. Varsayılan sınır, saatte yaklaşık iki aramadır.
Jetpack Glance ile güncellenmiş önizleme oluşturma
Jetpack Glance ile oluşturulan widget'lar için aşağıdakileri yapın:
Önizleme için birleştirilebilir içeriği sağlamak üzere
GlanceAppWidget.providePreviewişlevini geçersiz kılın.provideGlanceuygulamasında yaptığınız gibi, önizlemenin doğru verileri göstermesi için uygulamanızın verilerini yükleyin ve widget'ın içerik composable'ına iletin.provideGlance'un aksine bu, yeniden oluşturma veya efekt içermeyen tek bir oluşturmadır.Önizlemeyi oluşturmak ve yayınlamak için
GlanceAppWidgetManager.setWidgetPreviewsyöntemini çağırın.
Sistemden önizleme sağlamak için bir geri çağırma yoktur. Bu nedenle, uygulamanız setWidgetPreviews yöntemini ne zaman çağıracağına karar vermelidir. Güncelleme stratejisi, widget'ınızın kullanım alanına bağlıdır:
- Widget'ta statik bilgiler varsa veya widget hızlı işlemse uygulama ilk başlatıldığında önizlemeyi ayarlayın.
- Uygulamanızda veri olduğunda (ör. kullanıcı oturum açtıktan veya ilk kurulumdan sonra) önizlemeyi ayarlayabilirsiniz.
- Önizlemeleri seçilen bir sıklıkta güncelleyecek periyodik bir görev ayarlayabilirsiniz.
Oluşturulan önizlemelerle ilgili sorunları giderme
Sık karşılaşılan bir sorun, önizleme oluşturduktan sonra resimlerin, simgelerin veya diğer bileşenlerin, widget'ın bırakma boyutuna göre önizleme resminde eksik olmasıdır. Bu bırakma boyutu, belirtilmişse targetCellWidth ve targetCellHeight tarafından veya uygulama widget'ı sağlayıcı bilgi dosyasındaki minWidth ve minHeight tarafından tanımlanır.
Bunun nedeni, Android'in varsayılan olarak yalnızca widget'ın minimum boyutunda görünen composable'ları oluşturmasıdır. Başka bir deyişle, Android varsayılan olarak previewSizeMode değerini SizeMode.Single olarak ayarlar. Hangi bileşenlerin çizileceğini belirlemek için uygulama widget'ı sağlayıcı bilgileri XML'inde android:minHeight ve android:minWidth kullanır.
Bu sorunu düzeltmek için GlanceAppWidget içinde previewSizeMode değerini geçersiz kılın ve SizeMode.Responsive olarak ayarlayın. Bu işlem, bir dizi DpSize değeri sağlar. Bu sayede Android, önizleme için oluşturması gereken tüm düzen boyutlarını öğrenir ve tüm öğelerin doğru şekilde gösterilmesini sağlar.
Belirli form faktörleri için optimizasyon yapma Minimumdan başlayarak ve widget'ınızın kesme noktalarını takip ederek bir veya iki boyut sağlayın. Daha eski Android sürümlerini desteklemek için en az bir previewImage belirtin. Farklı ızgara boyutları için uygun minimum dp değerlerini widget tasarım kılavuzunda bulabilirsiniz.
Daha eski Android sürümlerini destekleme
Android 14 ve önceki sürümleri çalıştıran cihazlarda widget önizlemelerini göstermek için
veya Android 15 ve sonraki sürümlerde oluşturulan bir önizleme mevcut olmadığında
previewImage özelliğini belirtin.
Widget'ın görünümünü değiştirirseniz önizleme resmini güncelleyin.