Jetpack WindowManager 1.5.0'ın artık kararlı sürümde olduğunu duyurmaktan heyecan duyuyoruz.
Bu sürüm, WindowManager'ın güçlü uyarlanabilirlik temelini daha da geliştirerek tüm ekran boyutlarında mükemmel görünen, şık ve uyarlanabilir kullanıcı arayüzleri oluşturmayı daha da kolaylaştırıyor. Android ekosistemi büyümeye devam ettikçe kullanıcılar uygulamalarla her zamankinden daha fazla cihazda etkileşim kuruyor: telefonlar, katlanabilir cihazlar, tabletler, bağlı ekranlar, Chromebook'lar ve hatta park modundaki araç ekranları.
WindowManager 1.5, bu çeşitli cihaz ortamı için daha iyi araçlar sunmaya odaklanır.
WindowManager 1.5'teki yenilikler
Bu kararlı sürüm, çok büyük ekranlar için yeni kesme noktaları sunar, etkinlik yerleştirme API'sini geliştirir ve pencere metriklerini hesaplamak için daha fazla esneklik sağlar.
Yeni pencere boyutu sınıfları: Büyük ve Ekstra büyük
1.5 sürümündeki en büyük güncelleme, iki yeni genişlik pencere boyutu sınıfının eklenmesidir: Büyük ve Çok büyük.
Pencere boyutu sınıfları, uyarlanabilir düzenler tasarlayıp geliştirmenize yardımcı olan resmi ve özel görüntü alanı kesme noktaları grubumuzdur. 1.5 sürümüyle birlikte bu kılavuzu, standart tabletlerden daha büyük ekranları da kapsayacak şekilde genişletiyoruz.
Yeni genişlik kesme noktaları şunlardır:
- Büyük: 1.200 dp ile 1.600 dp arasındaki genişlikler için
- Çok büyük: ≥1600 dp genişlikler için
Ekran genişliğine göre farklı pencere boyutu sınıfları.
Bunlar neden önemlidir?
Android 16 QPR1 Beta 2'den itibaren Android, bağlı ekranları destekler. Böylece kullanıcılar cihazlarına harici bir ekran bağlayarak cihazlarını büyük ekranlı bir masaüstü aracına dönüştürebilir.
Harici ekrana bağlı telefon, harici ekranda masaüstü oturumu.
Bu yeni özellik kullanıma sunulduğundan, daha büyük ekranları dahil etmeye yönelik fikir verici rehberlik çok önemlidir.
Bu çok büyük yüzeylerde, tabletin genişletilmiş düzenini ölçeklendirmek her zaman en iyi kullanıcı deneyimini sunmaz. Örneğin, bir e-posta istemcisi, Genişletilmiş pencere boyutu sınıfında iki bölmeyi (posta kutusu ve mesaj) rahatça gösterebilir. Ancak çok büyük bir masaüstü monitörde e-posta istemcisi, üç, hatta dört bölmeyi (ör. posta kutusu, ileti listesi, tam ileti içeriği ve takvim/görevler paneli) aynı anda şık bir şekilde gösterebilir.
WindowManager 1.5, çok büyük ekran boyutları için resmi kesme noktaları sağlayarak üretken ve bilgi açısından yoğun bir masaüstü deneyimi için özel olarak tasarlanmış düzenler sunmanız konusunda size net bir sinyal verir.
Pencere boyutu sınıfları, Set<WindowSizeClass> türünü genişleten bir androidx.window.core.layout kitaplık uzantısı işlevi olan computeWindowSizeClass() kullanılarak hesaplanabilir.
Yeni pencere boyutu sınıflarını projenize dahil etmek için işlevi WindowSizeClass.BREAKPOINTS_V1 yerine WindowSizeClass.BREAKPOINTS_V2 grubundan çağırmanız yeterlidir:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
Ardından, uygulamanızın en az bu kadar alana sahip olduğundan emin olduğunuzda doğru düzeni uygulayın:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}Uyarlanabilir kitaplıklar
Compose Material 3 Adaptive kitaplığı, pencere boyutu sınıfları veya cihaz duruşları gibi mevcut pencere yapılandırmalarına göre otomatik olarak uyum sağlayan uyarlanabilir kullanıcı arayüzleri oluşturmanıza yardımcı olur.
İyi haber şu ki kitaplık, yeni kesme noktalarıyla zaten güncel. 1.2 sürümünden (şu anda sürüm adayı aşamasında) itibaren, varsayılan bölme iskele yönergesi işlevleri, büyük ve ekstra büyük pencere genişliği boyut sınıflarını destekler.
Gradle derleme dosyanızda yeni kesme noktalarını kullanmak istediğinizi beyan ederek etkinleştirmeniz yeterlidir:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Ek iyileştirmeler
- Etkinlik yerleştirme: Otomatik kaydetme ve geri yükleme: WindowManager artık etkinlik yerleştirme bölmelerinizin durumunu otomatik olarak kaydedip geri yükleyebilir. Bu sayede, işlem yeniden oluşturulurken kullanıcının düzeni korunur ve daha kararlı ve tutarlı bir deneyim sunulur. Geliştiricilerin artık durumu manuel olarak kaydedip geri yüklemesi gerekmez. EmbeddingConfiguration#isAutoSaveEmbeddingState özelliğini ayarlayarak otomatik kaydetmeyi etkinleştirebilirler.
- Genişletilmiş WindowMetrics: Artık WindowMetrics'i yalnızca Etkinlik bağlamından değil, Uygulama bağlamından da hesaplayabilirsiniz. Bu sayede, uygulamanızın farklı bölümlerinden pencere bilgilerine erişme konusunda daha fazla esneklik elde edersiniz.
Başlarken
Android projelerinizde yeni büyük ve ekstra büyük boyut sınıflarını ve diğer 1.5 özelliklerini kullanmaya başlamak için build.gradle.kts dosyasındaki uygulama bağımlılıklarınızı en son kararlı sürüme güncelleyin:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}WindowManager 1.5, Android form faktörlerinde çalışan tam uyumlu uygulamalar oluşturma yolunda atılmış bir diğer adımdır. Değişikliklerin ve hata düzeltmelerinin tam listesi için resmi sürüm notlarına göz atın.
Keyifli kodlamalar!
-
Ürün HaberleriAndroid'de mobil ve masaüstü bilişimi birbirine yaklaştırma konusunda önemli bir kilometre taşını duyurmaktan heyecan duyuyoruz: Bağlı ekran desteği, Android 16 QPR3 sürümüyle genel kullanıma sunuldu.
Francesco Romano • Okuma süresi: 7 dk. -
Ürün HaberleriYakında çıkacak Android sürümünü hedefleyen uygulamalar artık WRITE_CONTACTS izniyle kişilere doğrudan yazamayacak.
Roxanna Aliabadi Walker • Okuma süresi: 6 dk. -
Ürün HaberleriTemsilci tabanlı geliştirme hızlandıkça Android mühendisliği heyecan verici yeni bir aşamaya geçiyor: yardımcı kod tamamlamadan, sizin yönlendirmenizle uçtan uca yürütülen temsilcilere geçiş. Kullandığınız modeller ve temsilciler konusunda tam bir seçim özgürlüğüne ve esnekliğe sahipsiniz.
Jason Buchel • Okuma süresi: 3 dk.
Android geliştiriciliğiyle ilgili en son analizleri her hafta gelen kutunuza alın.