Jetpack WindowManager 1.5.0'ın artık kararlı sürümde olduğ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, uyarlanabilir ve kusursuz kullanıcı arayüzleri oluşturmayı kolaylaştırır. Android ekosistemi büyümeye devam ederken kullanıcılar, uygulamaları her zamankinden daha çeşitli cihazlarda 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 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 (Büyük ve Çok Büyük) eklenmesidir.
Pencere boyutu sınıfları, uyarlanabilir düzenler tasarlayıp geliştirmenize yardımcı olan, görüş alanıyla ilgili resmi ve belirli bir görüşe dayalı kesme noktalarıdır. 1.5 sürümünde, bu kılavuzu 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 olduğunda
Ekran genişliğine göre farklı pencere boyutu sınıfları.
Bu bilgiler 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.
Harici ekrana bağlı telefonda, harici ekranda masaüstü oturumu açıkken.
Bu yeni özellik kullanıma sunulduğundan, daha büyük ekranların dahil edilmesiyle ilgili kesin talimatlar vermek çok önemlidir.
Bu çok büyük yüzeylerde, tabletin genişletilmiş düzenini büyütmek her zaman en iyi kullanıcı deneyimini sağlamaz. Ö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 zarif bir şekilde gösterebilir. Örneğin, posta kutusu, ileti listesi, iletinin tam içeriği ve takvim/görevler paneli aynı anda gösterilebilir.
WindowManager 1.5, çok büyük ekran boyutları için resmi kesme noktaları sağlayarak üretkenliğe yönelik, bilgi 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ı, androidx.window.core.layout kitaplığı uzantı 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ümesindeki işlevi çağırmanız yeterlidir:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
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 zaten güncel durumda. 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 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 kaydetmeyi 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 sayede, uygulamanızın farklı bölümlerinden pencere bilgilerine erişme konusunda daha fazla esneklik elde edersiniz.
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 başka ileri adım. 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ü bilgisayarları birbirine yaklaştırma yolculuğunda ö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 HaberleriGoogle Play'de, büyümenizi sağlamanıza, yeni iş modellerine uyum sağlamanıza ve kullanıcılarınıza tam olarak bulundukları yerde ulaşmanıza yardımcı olmak için abonelik platformumuzu sürekli olarak genişletiyoruz.
Sheenam Mittal • Okuma süresi: 4 dakika -
Ürün HaberleriGeçen yıl Android Studio, tüm yapay zeka modellerine açıldı. Bugün, kodlama aracınızı seçme desteğini sunarak bir sonraki adımı atıyoruz.
Matthew Warner • Okuma süresi: 3 dk.
Android geliştirmeyle ilgili en son analizleri haftalık olarak gelen kutunuza alın.