Uygulama widget'larına genel bakış

Widget'lar, ana ekranı özelleştirmenin temel unsurlarından biridir. Bunları, kullanıcının ana ekranından erişilebilen, uygulamanın en önemli verilerinin ve işlevlerinin "bir bakışta" görünümleri olarak düşünebilirsiniz. Kullanıcılar, widget'ları ana ekran panelleri arasında taşıyabilir ve destekleniyorsa widget'taki bilgi miktarını tercihlerine göre uyarlamak için yeniden boyutlandırabilir.

Bu dokümanda, oluşturabileceğiniz farklı widget türleri ve uygulayabileceğiniz tasarım ilkeleri açıklanmaktadır. Remove View API'lerini ve XML düzenlerini kullanarak uygulama widget'ı oluşturmak için Basit bir widget oluşturma bölümüne bakın. Kotlin ve Compose stili API'lerini kullanarak widget oluşturmak için Jetpack Glance'a göz atın.

Widget türleri

Widget'ınızı planlarken ne tür bir widget oluşturmak istediğinizi düşünün. Widget'lar genellikle aşağıdaki kategorilerden birine girer:

Bilgi widget'ları

Tokyo'da havanın çok bulutlu, havanın 14 derece olduğunu ve saat 16:00 ile 19:00 arasında başlayacağı tahmin edilen sıcaklığı gösteren örnek hava durumu widget'ı
Şekil 1. Hava durumu uygulamasındaki bilgi widget'ı.

Bilgi widget'ları genellikle önemli bilgi öğelerini görüntüler ve bu bilgilerin zaman içinde nasıl değiştiğini izler. Bilgi widget'larına örnek olarak hava durumu widget'ları, saat widget'ları veya maç skoru izleme widget'ları verilebilir. Bilgi widget'larına dokunulduğunda, genellikle ilişkili uygulama başlatılır ve widget bilgilerinin ayrıntılı bir görünümü açılır.

Koleksiyon widget'ları

Koleksiyon widget'ları, bir galeri uygulamasından resim koleksiyonu, bir haber uygulamasından makale koleksiyonu veya bir iletişim uygulamasından e-posta ya da mesaj koleksiyonu gibi aynı türden birden çok öğeyi görüntüleme konusunda uzmandır. Koleksiyon widget'ları dikey olarak kaydırılabilir.

Koleksiyon widget'ları genellikle aşağıdaki kullanım alanlarına odaklanır:

  • Koleksiyona göz atabilirsiniz.
  • Koleksiyonun bir öğesini, ilişkilendirilmiş uygulamada ayrıntılar görünümünde açma.
  • Android 12'de (API düzeyi 31) bileşik düğmeler için destekle etkileşimde bulunma (ör. tamamlandı olarak işaretleme).

Widget'ları kontrol etme

"Yatak odası", "Mutfak" ve "Oturma odası" etiketli açma/kapatma anahtarlarını gösteren "Işık listesi" adlı uygulamanın widget'ı ve ilk iki düğme kapalı
Şekil 4. Denetim widget'ı örneği.

Kontrol widget'ının asıl amacı, sık kullanılan işlevleri göstererek kullanıcının uygulamayı açmak zorunda kalmadan bunları ana ekrandan tetikleyebilmesidir. Bunları bir uygulamanın uzaktan kumandaları olarak düşünebilirsiniz. Kontrol widget'ına örnek olarak, kullanıcıların evdeki ışıkları açıp kapatan bir ev kontrolü widget'ı verilebilir.

Bir kontrol widget'ıyla etkileşimde bulunduğunuzda, uygulamada ilişkili bir ayrıntı görünümü açılabilir. Bu durum, kontrol widget'ının işlevinin arama widget'ı gibi bir veri çıkış yapıp yapmadığına bağlıdır.

Karma widget'lar

"Beğenme", geri, oynatma/duraklatma, ileri ve "beğenme" düğmelerini gösteren genel bir müzik uygulaması. Sanatçı ve parça sırasıyla "Sanatçı" ve "Örnek müzik" olarak listelenir.
Şekil 5. Müzik uygulaması widget'ı örneği.

Bazı widget'lar, önceki bölümlerde yer alan türlerden birini (bilgi, toplama veya kontrol) temsil etse de çoğu widget, farklı tür öğeleri birleştiren karmalardır. Örneğin, müzik çalar widget'ı esasen bir kontrol widget'ıdır, ancak aynı zamanda kullanıcıya o anda çalan parçayı da (örneğin, bir bilgi widget'ı) gösterir.

Widget'ınızı planlarken temel türlerinden birini temel alın ve gerektiğinde diğer türlerin öğelerini ekleyin.

Widget'ları Google Asistan'la entegre etme

Google Asistan, kullanıcının sesli komutlarına yanıt olarak her türlü widget'ı gösterebilir. Widget'larınızı Uygulama İşlemleri'ni yerine getirecek şekilde yapılandırarak kullanıcıların Android ve Android Auto gibi Asistan yüzeylerinde hızlı yanıtlar almalarını ve etkileşimli uygulama deneyimleri almalarını sağlayabilirsiniz. Asistan için widget karşılama hakkında daha fazla bilgi için Uygulama İşlemleri'ni Android widget'larıyla entegre etme bölümüne bakın.

Widget sınırlamaları

Widget'lar "mini uygulamalar" olarak anlaşılsa da widget'ınızı tasarlamadan önce anlamanız gereken belirli sınırlamalar vardır.

Hareketler

Widget'lar ana ekranda bulunduğundan, orada bulunan gezinme özelliğiyle bir arada bulunmalıdır. Bu, tam ekran bir uygulamaya kıyasla widget'ta kullanılabilen hareket desteğini sınırlandırır. Uygulamalar kullanıcıların ekranlar arasında yatay olarak gezinmesine izin verse de bu hareket, ana ekranlar arasında gezinmek amacıyla zaten ana ekranda alınır.

Widget'lar için yalnızca dokunma ve dikey kaydırma hareketleri kullanılabilir.

Elementler

Widget'larda kullanılabilen hareketlerle ilgili sınırlamalar nedeniyle, kısıtlanmış hareketlere dayanan bazı kullanıcı arayüzü yapı taşları widget'lar için kullanılamaz. Desteklenen yapı taşlarının tam listesi ve düzen kısıtlamaları hakkında daha fazla bilgi için Widget düzenini oluşturma ve Esnek widget düzenleri sağlama bölümlerine göz atın.

Tasarım yönergeleri

Widget içeriği

Widget'lar, uygulamanızda bulunan yeni ve ilgi çekici içeriğin reklamını yaparak kullanıcıları uygulamanıza çekmenin harika bir yoludur.

Tıpkı bir gazetenin ön sayfasındaki fragmanlar gibi, widget'lar da uygulamanın bilgilerini birleştirip yoğunlaştırır ve uygulama içinde daha zengin ayrıntılarla bağlantı sağlar. Widget'ın bilgi "atıştırmalık", uygulamanın ise "yemek" olduğunu söyleyebilirsiniz. Uygulamanızın, bir bilgi öğesi hakkında widget'ta görüntülenenden daha fazla ayrıntı gösterdiğinden emin olun.

Sadece bilgi içeriğine ek olarak, widget'ınızın uygulamanızın sık kullanılan alanlarına yönlendiren gezinme bağlantıları sağlamasına dikkat edin. Bu, kullanıcıların görevleri daha hızlı tamamlamasına olanak tanır ve uygulamanın işlevsel erişimini ana ekrana genişletir.

Widget'lardaki gezinme bağlantıları için iyi adaylar:

  • Üretken işlevler: Bunlar, kullanıcının uygulama için yeni içerik oluşturmasını sağlayan işlevlerdir (ör. yeni doküman veya mesaj oluşturma).

  • Uygulamayı üst düzeyde açma: Bir bilgi öğesine dokunduğunuzda genellikle kullanıcı daha düşük düzeyli bir ayrıntı ekranına yönlendirilir. Uygulamanızın en üst düzeyine erişim sağlamak, daha fazla gezinme esnekliği sağlar ve kullanıcıların ana ekrandan uygulamaya gitmek için kullanabilecekleri özel bir uygulama kısayolunun yerini alabilir. Bu işlev için uygulama simgenizi kullandığınızda, gösterdiğiniz veriler belirsizse widget'ınıza net bir kimlik de sunabilirsiniz.

Widget yeniden boyutlandırma

Standart Google Saat widget'ı
Şekil 6. Standart Google Saat widget'ı.

Yeniden boyutlandırılabilir bir widget'a dokunup basılı tutup bırakın. Ardından widget yeniden boyutlandırma moduna girer. Kullanıcılar tercih ettikleri boyutu ayarlamak için tutma yerlerini veya widget köşelerini kullanabilir.

Yeniden boyutlandırma, kullanıcıların bir widget'ın yüksekliğini ve genişliğini ana ekran yerleşim ızgarasının sınırları dahilinde ayarlamasına olanak tanır. Widget'ınızın serbest bir şekilde yeniden boyutlandırılıp boyutlandırılmayacağına veya yatay ya da dikey boyut değişiklikleriyle sınırlı olup olmadığına karar verebilirsiniz. Widget'ınız doğası gereği sabit boyutluysa yeniden boyutlandırmayı desteklemeniz gerekmez.

Kullanıcıların widget'ları yeniden boyutlandırmasına izin vermek önemli avantajlar sağlar:

  • Her widget'ta ne kadar bilgi görmek istediklerine dair ince ayar yapabilirler.
  • Ana panellerindeki widget'ların ve kısayolların düzenini daha iyi etkileyebilirler.

Oluşturduğunuz widget'ın türüne göre widget'ınız için bir yeniden boyutlandırma stratejisi planlayın. Liste veya ızgara tabanlı koleksiyon widget'ları genellikle basittir, çünkü widget'ın yeniden boyutlandırılması dikey kaydırma alanını genişletir veya daraltır. Widget'ın boyutundan bağımsız olarak kullanıcı tüm bilgi öğelerini görünüme kaydırabilir.

Bilgi widget'ları kaydırılamadıkları ve tüm içeriğin belirli bir boyuta sığması gerektiği için daha fazla uygulamalı planlama gerektirir. Widget'ınızın içeriğini ve düzenini, kullanıcının yeniden boyutlandırma işlemiyle tanımladığı boyuta dinamik olarak ayarlamanız gerekir.

Aşağıdaki örnekte, kullanıcı bir hava durumu widget'ını üç adımda yeniden boyutlandırabilir ve widget büyüdükçe mevcut konumdaki hava durumu hakkında daha zengin bilgiler gösterebilir.

Konum adını (Tokyo), sıcaklığın (14°) ve kısmen bulutlu hava durumunu gösteren sembolün listelendiği, en küçük 3x2 ızgara boyutunda hava durumu widget'ı örneği
Şekil 7. 3x2 ızgara "küçük" boyutunda örnek hava durumu widget'ı.


3x2 ızgara boyutundaki tüm kullanıcı arayüzü, "çoğunlukla bulutlu" etiketi ve 16:00 ile 19:00 arasındaki sıcaklık tahminleri dahil, 5x2 "orta" boyutta hava durumu widget'ı
Şekil 8. 5x2 ızgara "orta" boyutta örnek hava durumu widget'ı.


3x2 ve 5x2 ızgara boyutlarındaki tüm kullanıcı arayüzlerinin yanı sıra Salı'dan Cuma'ya kadar hava durumu tahmini dahil, 5x4 "büyük" boyutlu hava durumu widget'ı örneği
Şekil 9. 5x4 ızgara "büyük" boyutta örnek hava durumu widget'ı.

Her widget boyutu için uygulama bilgilerinizin ne kadarının gösterileceğini belirleyin. Daha küçük boyutlarda önemli bilgilere odaklanın. Daha sonra widget yatay ve dikey olarak büyüdükçe bağlamsal bilgiler ekleyin.

Düzende dikkat edilmesi gereken noktalar

Widget'larınızı, geliştirme için kullandığınız cihazın yerleşim ızgarasının boyutlarına göre yerleştirmek cazip bir seçenek olabilir. Bu, yararlı bir başlangıç değerlendirmesi olabilir, ancak aşağıdaki noktaları unutmayın:

  • Widget yeniden boyutlandırma stratejinizi değişken ızgara boyutları yerine "boyut grupları" genelinde planlamanız en güvenilir sonuçları elde etmenizi sağlar.
  • Hücrelerin sayısı, boyutu ve aralığı cihazdan cihaza büyük ölçüde değişebilir. Bu nedenle, widget'ınızın esnek olması ve beklenenden daha fazla veya daha az alana sığabilmesi çok önemlidir.
  • Kullanıcı bir widget'ı yeniden boyutlandırdığında sistem, widget'ınızın kendini yeniden çizebileceği bir dp boyut aralığıyla yanıt verir.
  • Android 12'den itibaren, daha hassas boyut özellikleri ve daha esnek düzenler sunabilirsiniz. Bunlardan bazıları:

Kullanıcılar tarafından widget yapılandırması

Bazen, widget'ın yararlı olabilmesi için kullanıcının widget'ı ayarlaması gerekir. Gelen kutusunun görüntülenebilmesi için kullanıcının posta klasörünü seçmesi gereken bir e-posta widget'ını veya gösterilecek galeriden bir resim ataması gereken statik bir fotoğraf widget'ını düşünün. Android widget'ları, kullanıcının widget'ı ana ekrana bırakmasından hemen sonra yapılandırma seçeneklerini görüntüler.

Widget tasarımı kontrol listesi

  • Widget'ınızda bir bakışta göz atılabilecek bilgilerin küçük bölümlerine odaklanın. Uygulamanızdaki bilgileri genişletin.
  • Amacınıza uygun widget türünü seçin.
  • Widget'ınızın içeriğinin farklı boyutlara nasıl uyarlanacağını planlayın.
  • Widget düzeninizi yönden ve cihazdan bağımsız hale getirmek için düzenin genişletilip küçülebildiğinden emin olun.
  • Widget'ınız için ek yapılandırma gerekip gerekmediğini değerlendirin.