I’m a bit confused about Material 3 Adaptive Windo...
# multiplatform
m
I’m a bit confused about Material 3 Adaptive WindowSizeClass APIs.
I’m using
currentWindowAdaptiveInfo()
and noticed that:
windowWidthSizeClass
/
windowHeightSizeClass
are marked deprecated • Docs suggest using
isHeightAtLeastBreakpoint
,
isWidthAtLeastBreakpoint
, or
isAtLeastBreakpoint
That works on:
Copy code
WindowAdaptiveInfo.windowSizeClass
But when I use the Material3 WindowSizeClass library
androidx.compose.material3:material3-window-size-class
, the returned
WindowSizeClass
does NOT provide: •
isHeightAtLeastBreakpoint
isWidthAtLeastBreakpoint
isAtLeastBreakpoint
Copy code
//    val currentWindowDpSize = androidx.compose.material3.adaptive.currentWindowDpSize()
//    val currentWindowSize = androidx.compose.material3.adaptive.currentWindowSize()
    val currentWindowAdaptiveInfo = androidx.compose.material3.adaptive.currentWindowAdaptiveInfo()
    val material3AdaptiveWindowSizeClass = currentWindowAdaptiveInfo.windowSizeClass
    // 'windowWidthSizeClass: WindowWidthSizeClass' and
    // 'windowHeightSizeClass: WindowHeightSizeClass' is deprecated. Use either
    // isHeightAtLeastBreakpoint or isAtLeastBreakpoint to check matching bounds.
    val aw = material3AdaptiveWindowSizeClass.windowWidthSizeClass
    val ah = material3AdaptiveWindowSizeClass.windowHeightSizeClass

    if (material3AdaptiveWindowSizeClass.windowWidthSizeClass == androidx.window.core.layout.WindowWidthSizeClass.COMPACT) {

    } else if (material3AdaptiveWindowSizeClass.windowWidthSizeClass == androidx.window.core.layout.WindowWidthSizeClass.MEDIUM) {

    } else if (material3AdaptiveWindowSizeClass.windowWidthSizeClass == androidx.window.core.layout.WindowWidthSizeClass.EXPANDED){

    }

    val showTopAppBar = currentWindowAdaptiveInfo.windowSizeClass.isHeightAtLeastBreakpoint(480)


    // expect function for all platform i use this library org.jetbrains.compose.material3:material3-window-size-class:1.9.0
    val material3WindowSizeClass = calculateWindowSizeClass()
    val ww = material3WindowSizeClass.widthSizeClass
    val wh = material3WindowSizeClass.heightSizeClass
    if (material3WindowSizeClass.widthSizeClass == androidx.compose.material3.windowsizeclass.WindowWidthSizeClass.Compact){

    } else if (material3WindowSizeClass.widthSizeClass == androidx.compose.material3.windowsizeclass.WindowWidthSizeClass.Medium){

    } else if (material3WindowSizeClass.widthSizeClass == androidx.compose.material3.windowsizeclass.WindowWidthSizeClass.Expanded){

    }
100 Views