Uygulama widget'larına genel bakış

Widget'lar, ana ekran özelleştirmesinin önemli bir parçasıdır. Bunları, bir uygulamanın en önemli verilerinin ve işlevlerinin, kullanıcının ana ekranından erişilebilen "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'daki bilgi miktarını tercihlerine göre ayarlamak için widget'ları yeniden boyutlandırabilir.

Bu dokümanda, oluşturabileceğiniz farklı widget türleri ve uyulması gereken tasarım ilkeleri tanıtılmaktadır. Uzak Görüntüleme API'lerini ve XML düzenlerini kullanarak uygulama widget'ı oluşturmak için Basit bir widget oluşturma başlıklı makaleyi inceleyin. Kotlin ve Compose stili API'leri kullanarak widget oluşturmak için Jetpack Glance başlıklı makaleyi inceleyin.

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'nun çok bulutlu, 14 derece ve 16:00-19:00 arasında beklenen sıcaklık değerini gösteren örnek hava durumu widget'ı
Şekil 1. Bir hava durumu uygulamasından bilgi widget'ı.

Bilgi widget'ları genellikle önemli bilgi öğelerini gösterir 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 spor skoru takip widget'ları verilebilir. Bilgi widget'larına dokunduğunuzda genellikle ilişkili uygulama açılır ve widget bilgilerinin ayrıntılı görünümü gösterilir.

Koleksiyon widget'ları

Koleksiyon widget'ları, aynı türden birden fazla öğeyi (ör. bir galeri uygulamasındaki resim koleksiyonu, bir haber uygulamasındaki makale koleksiyonu veya bir iletişim uygulamasındaki e-posta ya da mesaj koleksiyonu) 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 atma.
  • Koleksiyondaki bir öğeyi, ilişkili uygulamada ayrıntılı görünümünde açma.
  • Android 12'de (API düzeyi 31) birleşik düğmeler için destek sunarak öğelerle etkileşim kurma (ör. öğeleri tamamlandı olarak işaretleme).

Widget'ları kontrol etme

"Işık listesi" adlı bir uygulamanın widget'ı. "Yatak odası", "Mutfak" ve "Oturma odası" etiketli açma/kapatma düğmelerini gösterir. İlk iki açma/kapatma düğmesi kapalıdır.
Şekil 4. Kontrol widget'ı örneği.

Kontrol widget'larının asıl amacı, sık kullanılan işlevleri kullanıcının uygulamayı açmak zorunda kalmadan ana ekrandan tetikleyebilmesi için görüntülemektir. Bu widget'ları bir uygulamanın uzaktan kumandası olarak düşünebilirsiniz. Kullanıcıların evdeki ışıkları açıp kapatmasına olanak tanıyan ev kontrolü widget'ı, kontrol widget'ı örneğidir.

Bir kontrol widget'ıyla etkileşim kurmak, uygulamada ilişkili bir ayrıntı görünümü açabilir. Bu, kontrol widget'ının işlevinin veri çıkıp çıkmadığına (ör. arama widget'ı) 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ümlerdeki türlerden birini (bilgi, koleksiyon veya kontrol) temsil ederken birçok widget, farklı türdeki öğeleri birleştiren karma widget'lardır. Örneğin, müzik çalar widget'ı öncelikle bir kontrol widget'ıdır ancak bilgi widget'ı gibi kullanıcıya şu anda çalan parçayı da gösterir.

Widget'ınızı planlarken temel türlerden birini temel alıp gerektiğinde diğer türlerde öğeler ekleyin.

Widget'ları Google Asistan ile entegre etme

Google Asistan, kullanıcının sesli komutlarına yanıt olarak her tür widget'ı gösterebilir. Widget'larınızı uygulama işlemlerini yerine getirecek şekilde yapılandırarak kullanıcıların Android ve Android Auto gibi Asistan platformlarında hızlı yanıtlar ve etkileşimli uygulama deneyimleri almasını sağlayabilirsiniz. Asistan için widget yerine getirme hakkında daha fazla bilgi edinmek isterseniz Uygulama işlemlerini Android widget'larıyla entegre etme başlıklı makaleyi inceleyin.

Widget sınırlamaları

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

Hareketler

Widget'lar ana ekranda bulunduğundan, buradaki gezinme menüsüyle birlikte var olmalıdır. Bu durum, widget'larda tam ekran uygulamalara kıyasla sunulan hareket desteğini sınırlandırır. Uygulamalar kullanıcıların ekranlar arasında yatay olarak gezinmesine izin verebilir ancak bu hareket, ana ekranlar arasında gezinmek için ana ekranda zaten kullanılır.

Widget'lar için kullanılabilen tek hareketler dokunma ve dikey kaydırma'dır.

Öğeler

Widget'larda kullanılabilen hareketlerle ilgili sınırlamalar nedeniyle, kısıtlanmış hareketlere dayanan bazı kullanıcı arayüzü yapı taşları widget'larda 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 başlıklı makaleleri inceleyin.

Tasarım yönergeleri

Widget içeriği

Widget'lar, uygulamanızda bulunan yeni ve ilgi çekici içeriklerin "reklamını" yaparak kullanıcıları uygulamanıza çekmenin mükemmel bir yoludur.

Bir gazetenin ön sayfasındaki tanıtım metinleri gibi widget'lar da uygulamanın bilgilerini bir araya getirir ve yoğunlaştırır, ayrıca uygulamadaki daha zengin ayrıntılara bağlantı sağlar. Widget'ı bilgi "atıştırmalığı", uygulamayı ise "yemek" olarak düşünebilirsiniz. Uygulamanızın, bir bilgi öğesi hakkında widget'ın gösterdiğinden daha fazla ayrıntı gösterdiğinden emin olun.

Widget'ınızın, bilgi içeriğinin yanı sıra uygulamanızın sık kullanılan alanlarına yönelik gezinme bağlantıları sağlamasını sağlayabilirsiniz. Bu sayede kullanıcılar görevleri daha hızlı tamamlayabilir ve uygulamanın işlevsel erişimi ana ekrana genişletilebilir.

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

  • Üretken işlevler: Kullanıcının bir uygulama için yeni içerikler (ör. yeni bir doküman veya yeni bir mesaj) oluşturmasına olanak tanıyan işlevlerdir.

  • Uygulamayı en üst düzeyde açın: Bir bilgi öğesine dokunulduğunda kullanıcı genellikle daha alt düzey bir ayrıntı ekranına yönlendirilir. Uygulamanızın üst düzeyine erişim izni vermek, daha fazla gezinme esnekliği sunar ve kullanıcıların ana ekrandan uygulamaya gitmek için kullandığı özel uygulama kısayolunu değiştirebilir. Bu işlev için uygulama simgenizi kullanmak, görüntülediğiniz veriler belirsizse widget'ınıza net bir kimlik de kazandırabilir.

Widget'ları yeniden boyutlandırma

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

Boyutlandırılabilir bir widget'a dokunup basılı tuttuktan sonra widget'ı bıraktığınızda widget yeniden boyutlandırma moduna girer. Kullanıcılar, tercih ettikleri boyutu ayarlamak için sürükleme tutamaçlarını veya widget köşelerini kullanabilir.

Boyutlandırma, kullanıcıların ana ekran yerleşim ızgarasının kısıtlamaları dahilinde bir widget'ın yüksekliğini ve genişliğini ayarlamalarına olanak tanır. Widget'ınızın serbestçe yeniden boyutlandırılıp boyutlandırılamayacağına veya yatay ya da dikey boyut değişiklikleriyle sınırlanıp sınırlanamayacağına karar verebilirsiniz. Widget'ınız sabit boyuttaysa yeniden boyutlandırmayı desteklemeniz gerekmez.

Kullanıcıların widget'ları yeniden boyutlandırmasına izin vermenin önemli avantajları vardır:

  • Her widget'ta görmek istedikleri bilgi miktarını hassaslaştırabilirler.
  • Ana panellerindeki widget'ların ve kısayolların düzenini daha iyi etkileyebilirler.

Oluşturduğunuz widget 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. Bunun nedeni, widget'ın yeniden boyutlandırılması durumunda dikey kaydırma alanının genişlemesi veya daralmasıdır. Kullanıcı, widget'ın boyutundan bağımsız olarak tüm bilgi öğelerini görüntülemek için ekranı kaydırabilir.

Bilgi widget'ları kaydırılabilir olmadığı ve tüm içeriğin belirli bir boyuta sığması gerektiği için daha fazla 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. Widget büyüdükçe mevcut konumdaki hava durumu hakkında daha zengin bilgiler gösterilir.

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


3x2 ızgara boyutundaki kullanıcı arayüzünün tamamının yanı sıra "çoğunlukla bulutlu" etiketi ve 16:00 ile 19:00 arasındaki tahmini sıcaklıklar da dahil olmak üzere 5x2 "orta" boyutlu örnek hava durumu widget'ı
Şekil 8. 5x2 ızgara "orta" boyutlu hava durumu widget'ı örneği.


3x2 ve 5x2 ızgara boyutlarındaki kullanıcı arayüzünün tamamının yanı sıra Salı ile Cuma arasındaki hava durumu tahminini içeren 5x4 "büyük" boyutlu örnek hava durumu widget'ı
Şekil 9. 5x4 ızgara "büyük" boyutlu örnek hava durumu widget'ı.

Her widget boyutu için uygulamanızın bilgilerinin ne kadarının gösterileceğini belirleyin. Daha küçük boyutlarda temel bilgilere odaklanın ve widget yatay ve dikey olarak büyüdükçe bağlama dayalı bilgiler ekleyin.

Düzenle ilgili dikkat edilmesi gereken noktalar

Widget'larınızı, geliştirdiğiniz cihazın yerleşim ızgarasının boyutlarına göre düzenlemek cazip gelebilir. Bu, başlangıçta faydalı bir yaklaşım olabilir ancak aşağıdaki noktaları göz önünde bulundurun:

  • Widget yeniden boyutlandırma stratejinizi değişken ızgara boyutları yerine "boyut grupları"na göre planlamak en güvenilir sonuçları almanızı sağlar.
  • Hücrelerin sayısı, boyutu ve aralığı cihazdan cihaza büyük ölçüde değişiklik gösterebilir. Bu nedenle, widget'ınızın esnek olması ve beklenenden daha fazla veya daha az yer kaplayabildiğini belirtmeniz çok önemlidir.
  • Kullanıcı bir widget'ı yeniden boyutlandırdığında sistem, widget'ınızın kendisini yeniden çizebileceği bir dp boyut aralığıyla yanıt verir.
  • Android 12'den itibaren daha hassas boyut özellikleri ve daha esnek düzenler sağlayabilirsiniz. Buna aşağıdakiler dahildir:

Kullanıcılara göre widget yapılandırması

Bazen widget'ın faydalı olabilmesi için kullanıcının widget'ı ayarlaması gerekir. Gelen kutusunun gösterilebilmesi için kullanıcının posta klasörünü seçmesi gereken bir e-posta widget'ını veya kullanıcının galeriden bir resim ataması gereken statik bir fotoğraf widget'ını düşünün. Android widget'ları, kullanıcı widget'ı ana ekrana bıraktığı anda yapılandırma seçeneklerini gösterir.

Widget tasarımı yapılacaklar listesi

  • Widget'ınızda bir bakışta göz atılabilen küçük bilgilere odaklanın. Uygulamanızdaki bilgileri genişletin.
  • Amacınız için doğru widget türünü seçin.
  • Widget'ınızın içeriğinin farklı boyutlara nasıl uyum sağlayacağını planlayın.
  • Widget düzeninizin uzayabilmesi ve daraltılabilmesini sağlayarak düzeninizi yön ve cihazdan bağımsız hale getirin.
  • Widget'ınızın ek yapılandırma gerektirip gerektirmediğini değerlendirin.