Uygulama widget'larına genel bakış

Yazma yöntemini deneyin
Jetpack Compose, Android için önerilen kullanıcı arayüzü araç setidir. Compose tarzı API'leri kullanarak widget oluşturmayı öğrenin.

Widget'lar, ana ekran özelleştirmenin önemli bir parçasıdır. Bunları, 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'taki 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. Remote View API'lerini ve XML düzenlerini kullanarak uygulama widget'ı oluşturmak için Basit bir widget oluşturma başlıklı makaleye bakın. Kotlin ve Compose tarzı API'leri kullanarak widget oluşturmak için Jetpack Glance'e bakı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 çoğunlukla bulutlu, 14 derece olduğu ve saat 16:00-19:00 arasında beklenen sıcaklığın gösterildiği örnek hava durumu widget'ı
1. şekil. Hava durumu uygulamasından alınan bir bilgi widget'ı.

Bilgi widget'ları genellikle önemli bilgi öğelerini gösterir ve bu bilgilerin zaman içinde nasıl değiştiğini takip eder. Bilgi widget'larına örnek olarak hava durumu widget'ları, saat widget'ları veya spor müsabakası skorlarını takip etme widget'ları verilebilir. Bilgi widget'larına dokunduğunuzda genellikle ilişkili uygulama başlatılır ve widget bilgilerinin ayrıntılı görünümü açılır.

Koleksiyon widget'ları

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

Kontrol widget'ları

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

Kontrol widget'ının temel amacı, sık kullanılan işlevleri görüntüleyerek kullanıcının uygulamayı açmasına gerek kalmadan ana ekrandan bu işlevleri tetiklemesini sağlamaktır. Bu widget'ları, uygulamaların uzaktan kumandaları olarak düşünebilirsiniz. Kontrol widget'larına örnek olarak, kullanıcıların evdeki ışıkları açıp kapatmasına olanak tanıyan ev kontrolü widget'ı verilebilir.

Bir kontrol widget'ıyla etkileşimde bulunmak, uygulamada ilişkili bir ayrıntı görünümünün açılmasına neden olabilir. Bu durum, kontrol widget'ının işlevinin herhangi bir veri çıkışı yapıp yapmamasına bağlıdır (ör. arama widget'ı).

Karma widget'lar

"Beğenmedim", geri, oynat/duraklat, ileri ve "beğendim" düğmelerini gösteren genel bir müzik uygulaması. Sanatçı ve parça sırasıyla "Sanatçı" ve "Örnek müzik" olarak listelenir.
5. şekil. 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ürlerin öğelerini birleştiren hibritlerdir. Örneğin, bir müzik çalar widget'ı öncelikle bir kontrol widget'ıdır ancak aynı zamanda kullanıcılara bilgi widget'ı gibi hangi parçanın çalındığını da gösterir.

Widget'ınızı planlarken temel türlerden birini temel alarak tasarım yapın ve gerektiğinde diğer türlerden öğeler ekleyin.

Widget'ları Google Asistan ile entegre etme

Google Asistan, kullanıcıların sesli komutlarına yanıt olarak her türden widget'ı gösterebilir. Widget'larınızı uygulama işlemlerini gerçekleştirecek şekilde yapılandırabilirsiniz. Böylece kullanıcılar Android ve Android Auto gibi Asistan yüzeylerinde hızlı yanıtlar alabilir ve etkileşimli uygulama deneyimleri yaşayabilir. Asistan'da widget yerine getirme hakkında daha fazla bilgi için Uygulama İş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 yer aldığından, burada oluşturulan gezinme ile birlikte var olmaları gerekir. Bu durum, tam ekran uygulamalara kıyasla widget'larda kullanılabilen hareket desteğini sınırlar. 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ıyor.

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 dayalı 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üzeni 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çerikleri "tanıtarak" kullanıcıları uygulamanıza çekmenin harika bir yoludur.

Bir gazetenin ön sayfasındaki kısa açıklamalar gibi, widget'lar da bir uygulamanın bilgilerini birleştirip yoğunlaştırır ve uygulama içindeki daha ayrıntılı bilgilere bağlantı sağlar. Widget'ı bilgi "atıştırmalığı", uygulamayı ise "yemek" olarak düşünebilirsiniz. Uygulamanızın, widget'ta gösterilenden daha ayrıntılı bilgi öğeleri gösterdiğinden emin olun.

Salt bilgi içeriğine ek olarak, widget'ınızın uygulamanızın sık kullanılan alanlarına gezinme bağlantıları sağlamasını da düşünebilirsiniz. Bu sayede kullanıcılar görevleri daha hızlı tamamlayabilir ve uygulamanın işlevsel erişim alanı ana ekrana kadar genişletilebilir.

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

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

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

Widget'ı yeniden boyutlandırma

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

Yeniden boyutlandırılabilir bir widget'a dokunup basılı tutarak ve ardından bırakarak widget'ı yeniden boyutlandırma moduna alabilirsiniz. Kullanıcılar, tercih ettikleri boyutu ayarlamak için sürükleme tutamaçlarını veya widget köşelerini kullanabilir.

Yeniden boyutlandırma, kullanıcıların ana ekran yerleştirme kılavuzunun sınırlamaları dahilinde bir widget'ın yüksekliğini ve genişliğini ayarlaması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ı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 vermenin önemli avantajları vardır:

  • Her widget'ta ne kadar bilgi görmek istediklerini hassas bir şekilde ayarlayabilirler.
  • 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 yeniden boyutlandırma stratejisi planlayın. Liste veya ızgara tabanlı koleksiyon widget'ları genellikle kolaydır. Çünkü widget'ı yeniden boyutlandırmak dikey kaydırma alanını genişletir veya daraltır. Kullanıcı, widget'ın boyutundan bağımsız olarak tüm bilgi öğelerini kaydırarak görüntüleyebilir.

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

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

En küçük 3x2 ızgara boyutunda, konum adını (Tokyo), sıcaklığı (14°) ve parçalı bulutlu havayı gösteren sembolü listeleyen örnek hava durumu widget'ı
7.şekil 3x2 ızgaralı "küçük" boyutunda hava durumu widget'ı örneği.


3x2 ızgara boyutundaki tüm kullanıcı arayüzünün yanı sıra "Çoğunlukla bulutlu" etiketi ve 16:00-19:00 arasındaki tahmini sıcaklıkları içeren 5x2 "orta" boyutunda örnek hava durumu widget'ı
8. şekil. 5x2 ızgaralı "orta" boyutta hava durumu widget'ı örneği.


3x2 ve 5x2 ızgara boyutlarındaki tüm kullanıcı arayüzünün yanı sıra Salı'dan Cuma'ya kadar hava durumu tahminini içeren 5x4 "büyük" boyutunda örnek hava durumu widget'ı
9.şekil 5x4 ızgaralı "büyük" boyuttaki hava durumu widget'ı örneği.

Her widget boyutu için uygulamanızdaki bilgilerin ne kadarının gösterileceğini belirleyin. Daha küçük boyutlarda, temel bilgilere odaklanın ve ardından widget yatay ve dikey olarak büyüdükçe bağlamsal bilgiler ekleyin.

Düzenle ilgili dikkat edilmesi gereken noktalar

Widget'larınızı, geliştirme yaptığınız cihazın yerleşim ızgarasının boyutlarına göre düzenlemek cazip gelebilir. Bu, yararlı bir ilk yaklaşım olabilir ancak aşağıdaki noktaları göz önünde bulundurun:

  • Widget'ınızın yeniden boyutlandırma stratejisini değişken ızgara boyutları yerine "boyut grupları" genelinde planlamak en güvenilir sonuçları verir.
  • 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 alan kaplayabilmesi çok önemlidir.
  • Kullanıcı bir widget'ın boyutunu değiştirdiğinde sistem, widget'ınızın kendisini yeniden çizebileceği bir dp boyutu aralığıyla yanıt verir.
  • Android 12'den itibaren daha ayrıntılı boyut özellikleri ve daha esnek düzenler sağlayabilirsiniz. Bu türdeki bilgilere şunlar dahildir:

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

Bazen, kullanıcının widget'ı yararlı hale getirmek için ayarlaması gerekir. Kullanıcının gelen kutusunun gösterilebilmesi için önce posta klasörünü seçmesi gereken bir e-posta widget'ı veya kullanıcının galeriden gösterilecek bir resim ataması gereken statik fotoğraf widget'ı örneklerini verebiliriz. Android widget'ları, kullanıcı widget'ı ana ekrana bıraktıktan hemen sonra yapılandırma seçeneklerini gösterir.

Widget tasarım kontrol listesi

  • Widget'ınızdaki bir bakışta görülebilen bilgilerin küçük kısımlarına odaklanın. Uygulamanızdaki bilgileri genişletin.
  • Amacınıza uygun widget türünü seçin.
  • Widget'ınızdaki içeriğin farklı boyutlara nasıl uyum sağlayacağını planlayın.
  • Düzenin genişleyip daralabileceğini doğrulayarak widget düzeninizi yönlendirmeden ve cihazdan bağımsız hale getirin.
  • Widget'ınızın ek yapılandırmaya ihtiyacı olup olmadığını değerlendirin.