Ürün Haberleri

Jetpack WindowManager 1.5 kararlı sürümü yayınlandı

Okuma süresi: 2 dk.
Francesco Romano'nun profilini görüntüle
Francesco Romano Geliştirici İlişkileri Mühendisi, Android

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
window_size_classes_width.png

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.

ADB_5350_asset.gif

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!

Yazan:
Okumaya devam et