TGViewer
Android Broadcast Android Broadcast @android_broadcast · 14.6K subscribers
Post #8790 4.99K
🚀 Изменения в WindowSizeClass

Сделали рефакторинг API, чтобы оно позволило добавлять собственные значения в будущем (помимо NORMAL, LARGE, EXPANDED), а также отказались от WindowWidthSizeClass и WindowHeightSizeClass.
// Было. Теперь deprecated 

val sizeClass = WindowSizeClass.compute(widthDp, heightDp)
when (sizeClass.widthSizeClass) {
COMPACT -> doCompact()
MEDIUM -> doMedium()
EXPANDED -> doExpanded()
else -> doDefault()
}


// Стало в 1.4
val sizeClass = WindowSizeClass.BREAKPOINTS_V1
.computeWindowSizeClass(widthDp, heightDp)


// Проверяем от самого большого размера к наименьшему
when {
sizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_EXPANDED_LOWER_BOUND) -> {
doExpanded()
}
sizeClass.isWidthAtLeastBreakpoint(WIDTH_DP_MEDIUM_LOWER_BOUND) -> {
doMedium()
}
else -> {
// Ветка по умолчанию должна быть для
// самого маленького поддерживаемого UI
doCompact()
}
}


#jetpack #material #adaptive #ui
  • 👎 10
  • 👍 9
  • 😢 2
More from @android_broadcast
  1. Oct 12, 2026🤖 Google взялся за R8 всерьёз: пора почистить proguard-rules.pro Android vitals в Play Co…
  2. Oct 12, 2026‼️ Опыт использования Grok Build и Grok 4.7 в разных задачах Два месяца каждый день работа…
  3. Oct 12, 2026🛒 Google Play снизит комиссию за хороший UX: Apps Experience Program Google запустил добр…
  4. Oct 11, 2026🚀 Переезд с SharedPreferences на DataStore не замедлил приложение: замеры на реальных уст…
  5. Oct 9, 2026UPD! Вышел Gradle 8.14.6 с аналогичными правками
  6. Oct 8, 2026🐘 Вышел Gradle 9.8.1: закрыли три серьёзные уязвимости, стоит обновиться Это патч-релиз д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →