# WindowHeightSizeClass

Artifact: [androidx.compose.material3:material3-window-size-class](https://developer.android.com/jetpack/androidx/releases/compose-material3) [View Source](https://cs.android.com/search?q=file:androidx/compose/material3/windowsizeclass/WindowSizeClass.kt+class:androidx.compose.material3.windowsizeclass.WindowHeightSizeClass) Common/AllAndroid/JVM
- Cmn

  ```
  value class WindowHeightSizeClass : Comparable<WindowHeightSizeClass>
  ```

*** ** * ** ***

Height-based window size class.

A window size class represents a breakpoint that can be used to build responsive layouts. Each window size class breakpoint represents a majority case for typical device scenarios so your layouts will work well on most devices and configurations.

For more details see [Window size classes documentation]("https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes#window_size_classes").

## Summary

| ### Public companion properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#AllSizeClasses()` The set of all size classes. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Compact()` Represents the majority of phones in landscape | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#DefaultSizeClasses()` The default set of size classes that includes `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Compact()`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Medium()`, and `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Expanded()` size classes. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Expanded()` Represents the majority of tablets in portrait | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Medium()` Represents the majority of tablets in landscape and majority of phones in portrait | Cmn |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#compareTo(androidx.compose.material3.windowsizeclass.WindowHeightSizeClass)(other: https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#toString()()` | Cmn |

## Public companion properties

### AllSizeClasses

Cmn

```
val AllSizeClasses: Set<WindowHeightSizeClass>
```

The set of all size classes. It's supposed to be expanded whenever a new size class is defined. By default `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowSizeClass#calculateFromSize(androidx.compose.ui.unit.DpSize,kotlin.collections.Set,kotlin.collections.Set)` will only return size classes in `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#DefaultSizeClasses()` in order to avoid behavioral changes when new size classes are added. You can opt in to support all available size classes by doing:

```kotlin
WindowSizeClass.calculateFromSize(
    size = size,
    density = density,
    supportedWidthSizeClasses = WindowWidthSizeClass.AllSizeClasses,
    supportedHeightSizeClasses = WindowHeightSizeClass.AllSizeClasses
)
```

### Compact

Cmn

```
val Compact: WindowHeightSizeClass
```

Represents the majority of phones in landscape

### DefaultSizeClasses

Cmn

```
val DefaultSizeClasses: Set<WindowHeightSizeClass>
```

The default set of size classes that includes `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Compact()`, `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Medium()`, and `https://developer.android.com/reference/kotlin/androidx/compose/material3/windowsizeclass/WindowHeightSizeClass#Expanded()` size classes. Should never expand to ensure behavioral consistency.

### Expanded

Cmn

```
val Expanded: WindowHeightSizeClass
```

Represents the majority of tablets in portrait

### Medium

Cmn

```
val Medium: WindowHeightSizeClass
```

Represents the majority of tablets in landscape and majority of phones in portrait

## Public functions

### compareTo

Cmn

```
open operator fun compareTo(other: WindowHeightSizeClass): Int
```

### toString

Cmn

```
open fun toString(): String
```