Jetpack WindowManager 1.5.0'ın kararlı sürümünün kullanıma sunulduğunu duyurmaktan heyecan duyuyoruz.
Bu sürüm, WindowManager'daki güçlü uyarlanabilirlik temelini daha da geliştirerek tüm ekran boyutlarında harika görünen, kusursuz ve uyarlanabilir kullanıcı arayüzleri oluşturmayı daha da kolaylaştırıyor. Android ekosistemi büyümeye devam ederken kullanıcılar, uygulamalarla etkileşim kurmak için hiç olmadığı kadar çeşitli cihazlar kullanıyor: telefonlar ve katlanabilir cihazlardan tabletlere, bağlı ekranlara, Chromebook'lara ve hatta park modundaki araba ekranlarına kadar.
WindowManager 1.5, bu çeşitli cihaz ortamı için daha iyi araçlar sunmaya odaklanıyor.
WindowManager 1.5 sürümündeki yenilikler
Bu kararlı sürümde çok büyük ekranlar için yeni kesme noktaları sunuluyor, etkinlik yerleştirme API'si geliştiriliyor ve pencere metriklerinin hesaplanması konusunda daha fazla esneklik sağlanıyor.
Yeni pencere boyutu sınıfları: Büyük ve Çok büyük
1.5 sürümündeki en büyük yenilik, iki yeni genişlik pencere boyutu sınıfının (Büyük ve Çok Büyük) eklenmesidir.
Pencere boyutu sınıfları, uyarlanabilir düzenler tasarlayıp geliştirmenize yardımcı olan, resmi ve belirli bir görüşe dayalı görüntü alanı kesme noktalarıdır. 1.5 sürümünde, bu rehberliği normal tabletlerin ötesindeki ekranlar için de geçerli olacak şekilde genişletiyoruz.
Yeni genişlik kesme noktaları:
- Büyük: 1.200 dp ile 1.600 dp arasındaki genişlikler için
- Çok büyük: Genişlik ≥1.600 dp olan cihazlar için
Ekran genişliğine göre farklı pencere boyutu sınıfları.
Bu metrikler neden önemlidir?
Android 16 QPR1 Beta 2'den itibaren Android, bağlı ekranları destekleyerek kullanıcıların cihazlarına harici bir ekran bağlamasına ve cihazlarını büyük ekranlı bir masaüstü aracı gibi kullanmasına olanak tanır.
Telefon, harici ekrana bağlıyken harici ekranda masaüstü oturumu açık.
Bu yeni özellik kullanıma sunulduğundan, daha büyük ekranların dahil edilmesiyle ilgili kesin talimatlar verilmesi çok önemlidir.
Bu çok büyük yüzeylerde, tabletin genişletilmiş düzenini büyütmek 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 (bir posta kutusu ve bir ileti) rahatça gösterebilir. Ancak ekstra büyük bir masaüstü monitöründe e-posta istemcisi, üç hatta dört bölmeyi aynı anda zarif bir şekilde gösterebilir. Örneğin, posta kutusu, ileti listesi, iletinin tam içeriği ve takvim/görevler paneli.
WindowManager 1.5, çok büyük ekran boyutları için resmi kesme noktaları sağlayarak üretkenliğe ve bilgi yoğunluğuna yönelik masaüstü deneyimi için özel olarak tasarlanmış düzenler sunmanıza olanak tanır.
Pencere boyutu sınıfları, androidx.window.core.layout kitaplık uzantısı işlevi olan ve Set<WindowSizeClass> türünü genişleten computeWindowSizeClass() kullanılarak hesaplanabilir.
Yeni pencere boyutu sınıflarını projenize dahil etmek için WindowSizeClass.BREAKPOINTS_V1 yerine WindowSizeClass.BREAKPOINTS_V2 kümesinden işlevi ç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 o 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 uyumlu olacak şekilde güncellendi. 1.2 sürümünden (şu anda yayın adayı aşamasında) itibaren, varsayılan bölme iskeleti yönergesi işlevleri büyük ve çok büyük pencere genişliği boyut sınıflarını destekler.
Yalnızca Gradle derleme dosyanızda yeni kesme noktalarını kullanmak istediğinizi belirterek bu özelliği etkinleştirmeniz gerekir:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Ek iyileştirmeler
- Etkinlik yerleştirme: Otomatik kaydetme ve geri yükleme: WindowManager artık etkinlik yerleştirme bölümlerinizin durumunu otomatik olarak kaydedip geri yükleyebilir. Bu, kullanıcının düzeninin süreç yeniden oluşturma sırasında korunmasına yardımcı olarak daha kararlı ve tutarlı bir deneyim sağlar. Geliştiricilerin artık durumu manuel olarak kaydetmesi ve geri yüklemesi gerekmez. Bunun yerine EmbeddingConfiguration#isAutoSaveEmbeddingState özelliğini ayarlayarak otomatik olarak etkinleştirebilirler.
- Genişletilmiş WindowMetrics: Artık WindowMetrics'i yalnızca bir Etkinlik bağlamından değil, bir Uygulama bağlamından da hesaplayabilirsiniz. Bu, uygulamanızın farklı bölümlerinden pencere bilgilerine erişmek için daha fazla esneklik sağlar.
Başlarken
Android projelerinizde yeni Large ve Extra-large 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 tamamen uyarlanabilir uygulamalar oluşturma konusunda bir adım daha ileriye gitmemizi sağlıyor. Değişikliklerin ve hata düzeltmelerinin tam listesi için resmi sürüm notlarını inceleyin.
Keyifli kodlamalar!
Okumaya devam edin
-
Ürün Haberleri
Android'de mobil ve masaüstü bilgisayarları birbirine yaklaştırma konusunda önemli bir kilometre taşına ulaştığımızı duyurmaktan heyecan duyuyoruz: Bağlı ekran desteği, Android 16 QPR3 sürümüyle genel kullanıma sunulma tarihine ulaştı.
Francesco Romano • Okuma süresi: 7 dakika
-
Ürün Haberleri
Google Play'de mümkün olan en güvenli ve güvenilir deneyimi sunmak Bugün, kullanıcı gizliliğini artırmak ve işletmenizi sahtekarlıktan korumak için yeni bir dizi politika güncellemesi ve hesap aktarma özelliği duyuruyoruz.
Bennet Manuel • Okuma süresi: 3 dk.
-
Ürün Haberleri
Android Emulator ile çeşitli cihaz etkileşimlerini test etmek artık her zamankinden daha kolay.
Steven Jenkins • Okuma süresi: 2 dakika
Gelişmelerden haberdar olun
Android geliştirmeyle ilgili en son analizleri her hafta gelen kutunuza alın.