Tabletler, katlanabilir cihazlar, Googlebook'lar, ChromeOS cihazlar, araba ekranları ve TV'ler dahil olmak üzere 300 milyondan fazla Android büyük ekran cihaz şu anda kullanılıyor ve bu sayı her geçen gün artıyor. Sayıları ve çeşitleri giderek artan büyük ekranlı cihazlarda ve standart telefonlarda en iyi kullanıcı deneyimini sunmak için uyarlanabilir uygulamalar geliştirin.
Uyarlanabilir uygulamalar nedir?
Uyarlanabilir uygulamalar, uygulama ekranındaki değişikliklere (özellikle uygulama penceresinin boyutuna) göre düzenleri değiştirir. Ancak uyarlanabilir uygulamalar, katlanabilir cihazların duruşundaki değişikliklere (ör. masaüstü veya kitap duruşu) ve ekran yoğunluğu ile yazı tipi boyutundaki değişikliklere de uyum sağlar.
Uyarlanabilir uygulamalar, kullanıcı arayüzü öğelerini farklı pencere boyutlarına göre genişletmek veya küçültmek yerine düzen bileşenlerini değiştirir ve içeriği gösterir ya da gizler. Örneğin, uyarlanabilir bir uygulama standart telefonlarda alt gezinme çubuğu, büyük ekranlarda ise gezinme sütunu gösterebilir. Uyumlu uygulamalar, büyük ekranlarda iki bölmeli liste-ayrıntı düzeni gibi daha fazla içerik, küçük ekranlarda ise liste veya ayrıntı gibi daha az içerik gösterir.
Geçmişte uygulamalar genellikle tam ekran olarak çalışırdı. Günümüzde uygulamalar, cihaz ekranının boyutundan bağımsız olarak rastgele boyutlandırılmış pencerelerde çoklu pencere modunda çalışır. Kullanıcılar, pencere boyutunu diledikleri zaman değiştirebilir. Bu nedenle, tek bir cihaz türünde bile uygulamaların uyarlanabilir olması gerekir.
Uyarlanabilir uygulamalar, her cihazda ve her yapılandırmada mükemmel görünür ve iyi çalışır.
Neden uyarlanabilir kullanıcı arayüzleri oluşturmalısınız?
Kullanıcılar, uygulamanızın tüm cihazlarında sorunsuz çalışmasını ve büyük ekranlarda gelişmiş özellikler sunmasını bekler. Kullanıcılar, daha iyi bir uygulama deneyimi ve daha yüksek üretkenlik için çoklu pencere modunda aynı anda birden fazla işlem yapabilir.
Standart telefonlarda tek görevle sınırlı olan uygulamalar, çeşitli olanaklara sahip genişleyen bir kullanıcı tabanını kaçırır.
Google Play
Google Play, tabletlere ve katlanabilir cihazlara özel uygulama koleksiyonları ve öneriler sunarak kullanıcıların yüksek kaliteli uygulamaları keşfetmesine olanak tanır.
Google Play, büyük ekranlar için optimize edilmiş uygulama ve oyunları, optimize edilmemiş uygulamalardan daha üst sıralara yerleştirir. Google Play, sıralamayı büyük ekranlarda uygulama kalitesi yönergelerine göre yapar. Daha yüksek sıralama, çeşitli cihazları kullananların telefonlarında büyük ekranlara özel puanları ve yorumları görmelerini sağlayarak keşfedilebilirliği artırır.
Google Play Store'un büyük ekran kalite standartlarını karşılamayan uygulamaların ayrıntılar sayfasında bir uyarı gösterilir. Uyarıda, uygulamanın büyük ekranlı cihazlarda iyi performans göstermeyebileceği belirtilir.
Google Play'de bulunabilirliği artırmak ve uygulamanızı indirebilecek cihaz sayısını en üst düzeye çıkarmak için uyarlanabilir uygulamalar geliştirin.
Başlarken
Planlamadan dağıtıma kadar uygulama geliştirmenin tüm aşamalarında uyarlanabilir tasarımı göz önünde bulundurun. Grafik tasarımcıları uyarlanabilir tasarım hakkında bilgilendirin. Uygulamanızı uyarlanabilir olacak şekilde tasarlarsanız yönetilebilir, genişletilebilir ve gelecekteki form faktörleri ile pencere modlarına hazır bir uygulama oluşturursunuz.
Tüm ekran boyutlarını ve yapılandırmalarını destekleyen uyarlanabilir bir uygulama oluşturmak için aşağıdakileri yapın:
- Düzen kararları almak için pencere boyutu sınıflarını kullanma
- Compose Material 3 Adaptive kitaplığıyla derleme yapma
- Dokunma dışında girişleri destekleme
- Tüm cihaz türlerinde test etme
Android becerileri
GitHub'da gösterUygulamanızı uyarlanabilir hale getirme
adaptive Android becerisini kullanın.android skills add adaptivePencere boyutu sınıfları
Uygulama penceresi boyutları, uygulama tam ekran olduğunda bile farklı cihazlarda veya katlanabilir cihazlarda aynı cihazda farklı olabilir. Farklı cihaz yönleri, farklı en-boy oranları oluşturur. Çoklu pencere modunda uygulama penceresi boyutu, en boy oranı ve yönü, cihaz ekranından farklı olabilir.
Uyarlanabilir uygulamalar, düzenleri oluştururken yalnızca uygulama penceresini dikkate alarak pencere boyutunu, en-boy oranını ve yönünü belirleme ve yönetme sorununu basitleştirip genelleştirir. Bu, uygulama penceresi tam ekran olduğunda da geçerlidir.
Pencere boyutu sınıfları, uygulama pencerelerini pencere genişliğine veya yüksekliğine göre küçük, orta ya da genişletilmiş olarak kategorilere ayırır.
Compose Material 3 Adaptive kitaplığının üst düzey currentWindowAdaptiveInfo() işlevini kullanarak uygulamanızın WindowSizeClass değerini hesaplayın. İşlev, windowSizeClass içeren bir WindowAdaptiveInfo örneği döndürür. Uygulamanız, pencere boyutu sınıfı her değiştiğinde güncelleme alır:
val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass
İçerik bölmeleri
Bir etkinliğin düzeni bazen ekran olarak adlandırılır. Örneğin, uygulamanızda bir ana ekran, liste ekranı ve öğe ayrıntıları ekranı olabilir. Bu terminoloji, her etkinliğin cihaz ekranını doldurduğunu gösterir.
Ancak genişletilmiş genişlik pencere boyutu sınıfını destekleyecek kadar büyük cihaz ekranlarında, aynı anda birden fazla etkinlik ekranı gösterilebilir. Bölme, her bir etkinliğin içerik ekranları için daha kesin bir terimdir.
Pencere boyutu sınıfları, Materyal Tasarım'da belirtildiği gibi çok bölmeli düzenlerde kaç içerik bölmesi gösterileceğini belirlemenize olanak tanır.
Bölmelerde gezinilebilir. Küçük ve orta pencere boyutu sınıflarında uygulamalar tek bir bölme gösterir. Bu nedenle, herhangi bir hedefe gidildiğinde tek bir bölme gösterilir.
Genişletilmiş pencere boyutu sınıfında uygulamalar, ilgili içeriği liste-ayrıntı düzeni gibi birden fazla bölmede gösterebilir. Her iki bölmeye de gidildiğinde iki bölmeli düzen gösterilir. Pencere boyutu küçük veya orta olarak değişirse uyarlanabilir uygulamalar yalnızca bir bölme (gezinme hedefi, liste veya ayrıntı) gösterir.
|
|
|
Compose Material 3 Adaptive
Jetpack Compose, birden fazla düzen dosyasının kopyalanması ve bakım yükü olmadan uyarlanabilir uygulamalar oluşturmaya yönelik modern ve açıklayıcı bir yaklaşımdır.
Compose Material 3 Adaptive kitaplığı; pencere boyutu sınıflarını, gezinme bileşenlerini, çok bölmeli düzenleri, katlanabilir duruşları ve menteşe konumunu yöneten composable'lar içerir. Örneğin:
NavigationSuiteScaffold: Uygulama penceresi boyut sınıfına ve cihazın duruşuna bağlı olarak gezinme çubuğu ile gezinme sütunu arasında otomatik olarak geçiş yapar.ListDetailPaneScaffold: Liste-ayrıntı düzenini uygular.Düzeni, uygulama penceresinin boyutuna uyarlar. Genişletilmiş pencere boyutu sınıfında bir listeyi ve liste öğesinin ayrıntılarını yan yana bölmelerde sunar. Ancak kompakt ve orta pencere boyutu sınıflarında yalnızca listeyi veya ayrıntıları gösterir.
SupportingPaneScaffold: Destekleyici bölme standart düzenini uygular.Genişletilmiş pencere boyutu sınıfında ana içerik bölmesini ve destekleyici bölmeyi, kompakt ve orta pencere boyutu sınıflarında ise yalnızca ana içerik bölmesini gösterir.
Compose Material 3 Adaptive kitaplığı, uyarlanabilir uygulamalar geliştirmek için önemli bir bağımlılıktır.
Yapılandırma ve süreklilik
Uyarlanabilir uygulamalar, yapılandırma değişiklikleri sırasında sürekliliği korur.
Uygulama penceresi yeniden boyutlandırıldığında, katlanabilir cihazın duruşu değiştiğinde veya ekran yoğunluğu ya da yazı tipi değiştiğinde yapılandırma değişikliği gerçekleşir.
Varsayılan olarak, yapılandırma değişiklikleri uygulama etkinliğini yeniden oluşturur ve tüm etkinlik durumu kaybolur. Uyarlanabilir uygulamalar, sürekliliği sağlamak için durumu etkinliğin onSaveInstanceState() yöntemine veya bir ViewModel nesnesine kaydeder.
Güvenlik duruşu
Uyarlanabilir uygulamalar, katlanabilir cihazların duruşundaki değişikliklere yanıt verir. Duruşlar arasında masaüstü ve kitap duruşu yer alır.
Jetpack WindowManager'daki WindowInfoTracker arayüzü, cihaz için DisplayFeature nesnelerinin listesini almanıza olanak tanır. Ekran özellikleri arasında, cihazın tamamen mi yoksa yarı açık mı olduğunu gösteren FoldingFeature.State özelliği de bulunur.
Compose Material 3 Adaptive kitaplığı, windowPosture içeren bir WindowAdaptiveInfo örneği döndüren currentWindowAdaptiveInfo() üst düzey işlevini sağlar.
Dokunmanın ötesinde giriş
Kullanıcılar genellikle büyük ekranlı cihazlara harici klavye, dokunmatik yüzey, fare ve ekran kalemi bağlar. Çevre birimleri; kullanıcı üretkenliğini, giriş hassasiyetini, kişisel ifadeyi ve erişilebilirliği artırır. Çoğu ChromeOS cihazda klavye ve dokunmatik yüzey yerleşik olarak bulunur.
Uyarlanabilir uygulamalar harici giriş cihazlarını destekler ancak Android çerçevesi işin büyük kısmını sizin yerinize yapar:
Jetpack Compose 1.7 ve sonraki sürümler: Klavye sekmesinde gezinme ve fare veya dokunmatik yüzeyle tıklama, seçme ve kaydırma varsayılan olarak desteklenir.
Jetpack
androidx.compose.material3kitaplığı: Kullanıcıların ekran kalemi kullanarak herhangi birTextFieldbileşenine yazmasına olanak tanır.Klavye Kısayolları Yardımcısı: Android platformu ve uygulama klavye kısayollarının kullanıcılar tarafından keşfedilmesini sağlar.
onProvideKeyboardShortcuts()pencere geri çağırma işlevini geçersiz kılarak uygulamanızın klavye kısayollarını Klavye Kısayolları Yardımcısı'nda yayınlayın.
Uyarlanabilir uygulamalar, her boyuttaki form faktörlerini tam olarak desteklemek için her tür girişi destekler.
Uyarlanabilir uygulamaları test etme
Farklı ekran ve pencere boyutlarını ve farklı cihaz yapılandırmalarını test edin. Uygulama düzenlerinizi kontrol etmek için ana makine tarafındaki ekran görüntülerini ve Compose önizlemelerini kullanın. Uygulamanızı Android Studio emülatörlerinde ve Google veri merkezlerinde barındırılan uzak Android cihazlarda çalıştırın.
Büyük ekranlarda uygulama kalitesi yönergeleri
Büyük ekran uygulama kalitesi yönergeleri, uyarlanabilir uygulamanızın tabletlerde, katlanabilir cihazlarda ve ChromeOS cihazlarda iyi çalıştığını doğrulamanıza yardımcı olur. Yönergeler, kritik kullanıcı yolculukları için uygulama işlevselliğini doğrulamanızı sağlayan testler içerir. Yönergeler büyük ekranlara odaklansa da tüm ekran boyutlarıyla uyumludur.
Birden fazla yapılandırma
Compose 1.7 ve sonraki sürümlerdeki DeviceConfigurationOverride arayüzü, cihaz yapılandırmasının çeşitli yönlerini geçersiz kılmanıza olanak tanır. API, test etmek istediğiniz tüm birleştirilebilir içerikler için farklı cihaz yapılandırmalarını yerelleştirilmiş bir şekilde simüle eder. Örneğin, test paketinizin tek bir cihazda veya emülatörde tek bir çalıştırılmasıyla birden fazla rastgele kullanıcı arayüzü boyutunu test edebilirsiniz.
DeviceConfigurationOverride.then() uzantı işleviyle yazı tipi boyutu, yerel ayar, tema ve düzen boyutu gibi birden fazla yapılandırma parametresini aynı anda test edebilirsiniz.
Ana makine tarafındaki ekran görüntüleri
Ana makine tarafındaki ekran görüntüsü testleri, uygulama düzenlerinizin görsel görünümünü doğrulamanın hızlı ve ölçeklenebilir bir yoludur. Kullanıcı arayüzünüzü çeşitli ekran boyutlarında test etmek için ana makine tarafındaki ekran görüntülerini kullanın.
Daha fazla bilgi için Compose Önizleme Ekran Görüntüsü Testi başlıklı makaleyi inceleyin.
Compose önizlemeleri
Oluşturma önizlemeleri, uygulamanızın kullanıcı arayüzünü Android Studio'nun tasarım görünümünde kontrol etmenize olanak tanır. Önizlemeler, birleştirilebilir içeriği çeşitli yapılandırmalarda görmenizi sağlamak için @PreviewScreenSizes, @PreviewFontScale ve @PreviewLightDark gibi ek açıklamalar kullanır. Önizlemelerle etkileşimde bile bulunabilirsiniz.
Android Studio, önizlemelerde çok geniş düğmeler veya metin alanları gibi yaygın kullanılabilirlik sorunlarını da vurgular.
Daha fazla bilgi için Birleştirilebilir önizlemelerle kullanıcı arayüzünüzü önizleme başlıklı makaleyi inceleyin.
Emülatörler
Android Studio, farklı düzen boyutlarını test etmek için çeşitli emülatörler sunar:
- Yeniden boyutlandırılabilir emülatör: Telefon, tablet veya katlanabilir cihaz emülasyonu yaparak bunlar arasında anında geçiş yapmanızı sağlar.
- Pixel Fold emülatörü: Pixel Fold büyük ekranlı katlanabilir telefonu emüle eder.
- Pixel Tablet emülatörü: Pixel Tablet büyük ekranlı cihazın emülasyonunu yapar.
- Masaüstü emülatörü: Serbest biçimli pencereleme, fareyle üzerine gelme ve klavye kısayollarını test etmenize olanak tanır.
Uzaktan cihazda oynatma
Google veri merkezlerinde barındırılan uzak Android cihazlara güvenli bir şekilde bağlanın ve uygulamanızı en yeni Pixel ve Samsung cihazlarda çalıştırın. Uygulamanızın çeşitli gerçek cihazlarda iyi çalıştığını doğrulamak için uygulamaları yükleyip hatalarını ayıklayın, ADB komutlarını çalıştırın ve cihazları döndürüp katlayın.
Uzak cihaz akışı, Android Studio'ya entegre edilmiştir. Daha fazla bilgi için Firebase tarafından desteklenen Android Cihaz Akışı başlıklı makaleyi inceleyin.
Ek kaynaklar
- I/O sunumu: Uyarlanabilir Android uygulamaları geliştirme