# TopAppBarDefaults

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

  ```
  object TopAppBarDefaults
  ```

*** ** * ** ***

Contains default values used for the top app bar implementations.

## Summary

| ### Public functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [centerAlignedTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#centerAlignedTopAppBarColors())()` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [centerAlignedTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#centerAlignedTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec)( state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? )` Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.foundation.gestures.ScrollableState,androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec)( scrollableState: https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState, state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? )` Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [enterAlwaysScrollBehavior](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec,kotlin.Function0))( state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, isScrollingContentAtStart: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` **This function is deprecated.** Please use the enterAlwaysScrollBehavior function that takes a ScrollableState parameter. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [enterAlwaysScrollBehavior](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec,kotlin.Boolean))( state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, reverseLayout: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` **This function is deprecated.** Please use the enterAlwaysScrollBehavior() function that takes a scrollableState parameter. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#exitUntilCollapsedScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec)( state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>?, flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? )` Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that adjusts its properties to affect the colors and height of the top app bar. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [largeTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#largeTopAppBarColors())()` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [largeTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#largeTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [mediumTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#mediumTopAppBarColors())()` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable [mediumTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#mediumTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` **This function is deprecated.** Use topAppBarColors instead | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#pinnedScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0)(state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Returns a pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that tracks nested-scroll callbacks and updates its `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState#contentOffset()` accordingly. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#pinnedScrollBehavior(androidx.compose.foundation.gestures.ScrollableState,androidx.compose.material3.TopAppBarState,kotlin.Function0)( scrollableState: https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState, state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState, canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Returns a pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that tracks nested-scroll callbacks and updates its `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState#contentOffset()` accordingly. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#topAppBarColors()()` Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#topAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)( containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, subtitleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color )` Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`. | Cmn |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/PaddingValues` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#ContentPadding()` Default padding used for `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` content | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#LargeAppBarCollapsedHeight()` The default height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` when collapsed by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#LargeAppBarExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#LargeFlexibleAppBarWithSubtitleExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeFlexibleTopAppBar.composable#LargeFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` with subtitle. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#LargeFlexibleAppBarWithoutSubtitleExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeFlexibleTopAppBar.composable#LargeFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` without subtitle. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#MediumAppBarCollapsedHeight()` The default height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` when collapsed by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#MediumAppBarExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#MediumFlexibleAppBarWithSubtitleExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumFlexibleTopAppBar.composable#MediumFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` with subtitle. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#MediumFlexibleAppBarWithoutSubtitleExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumFlexibleTopAppBar.composable#MediumFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` without subtitle. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#TopAppBarExpandedHeight()` The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` and the `https://developer.android.com/reference/kotlin/androidx/compose/material3/CenterAlignedTopAppBar.composable#CenterAlignedTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#flingAnimationSpec()` Default `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#snapAnimationSpec()` Default `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/WindowInsets` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#windowInsets()` Default insets to be used and consumed by the top app bars | Cmn |

## Public functions

### centerAlignedTopAppBarColors

Cmn

```
@Composable
fun [centerAlignedTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#centerAlignedTopAppBarColors())(): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors()
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/CenterAlignedTopAppBar.composable#CenterAlignedTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`s. The default implementation animates between the provided colors according to the Material Design specification.

### centerAlignedTopAppBarColors

Cmn

```
@Composable
fun [centerAlignedTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#centerAlignedTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))(
    containerColor: Color = Color.Unspecified,
    scrolledContainerColor: Color = Color.Unspecified,
    navigationIconContentColor: Color = Color.Unspecified,
    titleContentColor: Color = Color.Unspecified,
    actionIconContentColor: Color = Color.Unspecified
): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors(containerColor, scrolledContainerColor, navigationIconContentColor, titleContentColor, actionIconContentColor)
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/CenterAlignedTopAppBar.composable#CenterAlignedTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`s. The default implementation animates between the provided colors according to the Material Design specification.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color |
| `scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color when content is scrolled behind it |
| `navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the navigation icon |
| `titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the title |
| `actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for actions |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | the resulting `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` used for the top app bar |

### enterAlwaysScrollBehavior

Cmn

```
@Composable
fun enterAlwaysScrollBehavior(
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true },
    snapAnimationSpec: AnimationSpec<Float>? = TopAppBarDefaults.snapAnimationSpec,
    flingAnimationSpec: DecayAnimationSpec<Float>? = TopAppBarDefaults.flingAnimationSpec
): TopAppBarScrollBehavior
```

Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. A top app bar that is set up with this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` will immediately collapse when the content is pulled up, and will immediately appear when the content is pulled down. Note: If your layout utilizes `reverseLayout` or `reverseScrolling`, please use the overload that takes a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` parameter.

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` |
| `snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.snapAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. If `null` is provided, the app bar will not snap and will remain in its current state. |
| `flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.flingAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. If `null` is provided, the app bar will not continue to animate its height based on the scroll velocity. |

### enterAlwaysScrollBehavior

Cmn

```
@Composable
fun enterAlwaysScrollBehavior(
    scrollableState: ScrollableState,
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true },
    snapAnimationSpec: AnimationSpec<Float>? = TopAppBarDefaults.snapAnimationSpec,
    flingAnimationSpec: DecayAnimationSpec<Float>? = TopAppBarDefaults.flingAnimationSpec
): TopAppBarScrollBehavior
```

Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. A top app bar that is set up with this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` will immediately collapse when the content is pulled up, and will immediately appear when the content is pulled down.

This overload is intended for use cases with scrollable containers (such as `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyColumn.composable#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect,androidx.compose.foundation.lazy.layout.LazyLayoutCacheWindow,kotlin.Function1)`, a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Column.composable#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)` with `verticalScroll`, or any other container that implements `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState`) when the content is pre-scrolled or uses `reverseLayout`/`reverseScrolling`, as it correctly handles `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` color transitions for these specific scroll states.

An enter always top app bar with reverse scrolling looks like:

```kotlin
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.PlainTooltip
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TooltipAnchorPosition
import androidx.compose.material3.TooltipBox
import androidx.compose.material3.TooltipDefaults
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTooltipState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.semantics.LiveRegionMode
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.paneTitle
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp

val scrollState = rememberScrollState()
val scrollBehavior =
    // Pass this state to ensure the top app bar color updates correctly when content has
    // reverse scrolling.
    TopAppBarDefaults.enterAlwaysScrollBehavior(scrollableState = scrollState)
Scaffold(
    modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
    topBar = {
        TopAppBar(
            title = { Text("TopAppBar", maxLines = 1, overflow = TextOverflow.Ellipsis) },
            navigationIcon = {
                TooltipBox(
                    positionProvider =
                        TooltipDefaults.rememberTooltipPositionProvider(
                            TooltipAnchorPosition.Above
                        ),
                    tooltip = {
                        PlainTooltip(
                            modifier =
                                Modifier.semantics {
                                    // TODO(b/496338253): Remove this modifier once bug where
                                    //   tooltip text is not announced by a11y screen readers
                                    //   is resolved.
                                    liveRegion = LiveRegionMode.Assertive
                                    paneTitle = "Menu"
                                }
                        ) {
                            Text("Menu")
                        }
                    },
                    state = rememberTooltipState(),
                ) {
                    IconButton(onClick = { /* doSomething() */ }) {
                        Icon(imageVector = Icons.Filled.Menu, contentDescription = "Menu")
                    }
                }
            },
            scrollBehavior = scrollBehavior,
        )
    },
    content = { innerPadding ->
        Column(
            modifier =
                Modifier.fillMaxSize()
                    .padding(paddingValues = innerPadding)
                    .verticalScroll(state = scrollState, reverseScrolling = true),
            verticalArrangement = Arrangement.Bottom,
        ) {
            (0..75).forEach {
                Box(modifier = Modifier.fillMaxSize().padding(horizontal = 16.dp)) {
                    Text(text = it.toString(), style = MaterialTheme.typography.bodyLarge)
                }
            }
        }
    },
)
```

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

| Parameters |
|---|---|
| `scrollableState: https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` | the `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` of the scrollable container, used to determine if the content is at the start |
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` |
| `snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.snapAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. If `null` is provided, the app bar will not snap and will remain in its current state. |
| `flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.flingAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. If `null` is provided, the app bar will not continue to animate its height based on the scroll velocity. |

### enterAlwaysScrollBehavior

Cmn

```
@Composable
fun [enterAlwaysScrollBehavior](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec,kotlin.Function0))(
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true },
    snapAnimationSpec: AnimationSpec<Float>? = TopAppBarDefaults.snapAnimationSpec,
    flingAnimationSpec: DecayAnimationSpec<Float>? = TopAppBarDefaults.flingAnimationSpec,
    isScrollingContentAtStart: () -> Boolean = { true }
): TopAppBarScrollBehavior
```

> [!CAUTION]
> **This function is deprecated.**   
> Please use the enterAlwaysScrollBehavior function that takes a ScrollableState parameter.

Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. A top app bar that is set up with this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` will immediately collapse when the content is pulled up, and will immediately appear when the content is pulled down.

This overload is intended for use cases that are not covered by the standard overloads, such as when a custom `isScrollingContentAtStart` state needs to be determined for custom or complex layouts (e.g. `LazyVerticalGrid` with `reverseLayout = true`).

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` |
| `snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.snapAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. If `null` is provided, the app bar will not snap and will remain in its current state. |
| `flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.flingAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. If `null` is provided, the app bar will not continue to animate its height based on the scroll velocity. |
| `isScrollingContentAtStart: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | A callback that returns true when the scrollable is at the origin of its content. Handles reversed layouts to ensure "start" always refers to the first logical item. |

### enterAlwaysScrollBehavior

Cmn

```
@Composable
fun [enterAlwaysScrollBehavior](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#enterAlwaysScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec,kotlin.Boolean))(
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true },
    snapAnimationSpec: AnimationSpec<Float>? = TopAppBarDefaults.snapAnimationSpec,
    flingAnimationSpec: DecayAnimationSpec<Float>? = TopAppBarDefaults.flingAnimationSpec,
    reverseLayout: Boolean = false
): TopAppBarScrollBehavior
```

> [!CAUTION]
> **This function is deprecated.**   
> Please use the enterAlwaysScrollBehavior() function that takes a scrollableState parameter, use this instead:
>
> ```kotlin
> enterAlwaysScrollBehavior(scrollableState, state, canScroll, snapAnimationSpec, flingAnimationSpec)
> ```

Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`. A top app bar that is set up with this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` will immediately collapse when the content is pulled up, and will immediately appear when the content is pulled down.

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this `https://developer.android.com/reference/kotlin/androidx/compose/material3/EnterAlwaysScrollBehavior` |
| `snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.snapAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. If `null` is provided, the app bar will not snap and will remain in its current state. |
| `flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.flingAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. If `null` is provided, the app bar will not continue to animate its height based on the scroll velocity. |
| `reverseLayout: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = false` | indicates that this behavior is applied to a scrollable content that has a reversed direction of scrolling and layout |

### exitUntilCollapsedScrollBehavior

Cmn

```
@Composable
fun exitUntilCollapsedScrollBehavior(
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true },
    snapAnimationSpec: AnimationSpec<Float>? = TopAppBarDefaults.snapAnimationSpec,
    flingAnimationSpec: DecayAnimationSpec<Float>? = TopAppBarDefaults.flingAnimationSpec
): TopAppBarScrollBehavior
```

Returns a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that adjusts its properties to affect the colors and height of the top app bar.

A top app bar that is set up with this `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` will immediately collapse when the nested content is pulled up, and will expand back the collapsed area when the content is pulled all the way down.

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

A sample for a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` with `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#exitUntilCollapsedScrollBehavior(androidx.compose.material3.TopAppBarState,kotlin.Function0,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.DecayAnimationSpec)`:

```kotlin
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.MediumTopAppBar
import androidx.compose.material3.PlainTooltip
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TooltipAnchorPosition
import androidx.compose.material3.TooltipBox
import androidx.compose.material3.TooltipDefaults
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTooltipState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.semantics.LiveRegionMode
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.paneTitle
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp

val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior()
Scaffold(
    modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
    topBar = {
        MediumTopAppBar(
            title = {
                Text("Medium TopAppBar", maxLines = 1, overflow = TextOverflow.Ellipsis)
            },
            navigationIcon = {
                TooltipBox(
                    positionProvider =
                        TooltipDefaults.rememberTooltipPositionProvider(
                            TooltipAnchorPosition.Above
                        ),
                    tooltip = {
                        PlainTooltip(
                            modifier =
                                Modifier.semantics {
                                    // TODO(b/496338253): Remove this modifier once bug where
                                    //   tooltip text is not announced by a11y screen readers
                                    //   is resolved.
                                    liveRegion = LiveRegionMode.Assertive
                                    paneTitle = "Menu"
                                }
                        ) {
                            Text("Menu")
                        }
                    },
                    state = rememberTooltipState(),
                ) {
                    IconButton(onClick = { /* doSomething() */ }) {
                        Icon(imageVector = Icons.Filled.Menu, contentDescription = "Menu")
                    }
                }
            },
            actions = {
                TooltipBox(
                    positionProvider =
                        TooltipDefaults.rememberTooltipPositionProvider(
                            TooltipAnchorPosition.Above
                        ),
                    tooltip = {
                        PlainTooltip(
                            modifier =
                                Modifier.semantics {
                                    // TODO(b/496338253): Remove this modifier once bug where
                                    //   tooltip text is not announced by a11y screen readers
                                    //   is resolved.
                                    liveRegion = LiveRegionMode.Assertive
                                    paneTitle = "Add to favorites"
                                }
                        ) {
                            Text("Add to favorites")
                        }
                    },
                    state = rememberTooltipState(),
                ) {
                    IconButton(onClick = { /* doSomething() */ }) {
                        Icon(
                            imageVector = Icons.Filled.Favorite,
                            contentDescription = "Add to favorites",
                        )
                    }
                }
            },
            scrollBehavior = scrollBehavior,
        )
    },
    content = { innerPadding ->
        LazyColumn(
            modifier = Modifier.padding(innerPadding),
            verticalArrangement = Arrangement.spacedBy(8.dp),
        ) {
            val list = (0..75).map { it.toString() }
            items(count = list.size) {
                Text(
                    text = list[it],
                    style = MaterialTheme.typography.bodyLarge,
                    modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
                )
            }
        }
    },
)
```

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this `https://developer.android.com/reference/kotlin/androidx/compose/material3/ExitUntilCollapsedScrollBehavior` |
| `snapAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.snapAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position. If `null` is provided, the app bar will not snap and will remain in its current state. |
| `flingAnimationSpec: https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>? = TopAppBarDefaults.flingAnimationSpec` | an optional `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content. If `null` is provided, the app bar will not continue to animate its height based on the scroll velocity. |

### largeTopAppBarColors

Cmn

```
@Composable
fun [largeTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#largeTopAppBarColors())(): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors()
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`s. The default implementation interpolates between the provided colors as the top app bar scrolls according to the Material Design specification.

### largeTopAppBarColors

Cmn

```
@Composable
fun [largeTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#largeTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))(
    containerColor: Color = Color.Unspecified,
    scrolledContainerColor: Color = Color.Unspecified,
    navigationIconContentColor: Color = Color.Unspecified,
    titleContentColor: Color = Color.Unspecified,
    actionIconContentColor: Color = Color.Unspecified
): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors(containerColor, scrolledContainerColor, navigationIconContentColor, titleContentColor, actionIconContentColor)
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`s. The default implementation interpolates between the provided colors as the top app bar scrolls according to the Material Design specification.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color |
| `scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color when content is scrolled behind it |
| `navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the navigation icon |
| `titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the title |
| `actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for actions |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | the resulting `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` used for the top app bar |

### mediumTopAppBarColors

Cmn

```
@Composable
fun [mediumTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#mediumTopAppBarColors())(): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors()
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`s. The default implementation interpolates between the provided colors as the top app bar scrolls according to the Material Design specification.

### mediumTopAppBarColors

Cmn

```
@Composable
fun [mediumTopAppBarColors](https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarDefaults#mediumTopAppBarColors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color))(
    containerColor: Color = Color.Unspecified,
    scrolledContainerColor: Color = Color.Unspecified,
    navigationIconContentColor: Color = Color.Unspecified,
    titleContentColor: Color = Color.Unspecified,
    actionIconContentColor: Color = Color.Unspecified
): TopAppBarColors
```

> [!CAUTION]
> **This function is deprecated.**   
> Use topAppBarColors instead, use this instead:
>
> ```kotlin
> topAppBarColors(containerColor, scrolledContainerColor, navigationIconContentColor, titleContentColor, actionIconContentColor)
> ```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`s. The default implementation interpolates between the provided colors as the top app bar scrolls according to the Material Design specification.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color |
| `scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color when content is scrolled behind it |
| `navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the navigation icon |
| `titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the title |
| `actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for actions |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | the resulting `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` used for the top app bar |

### pinnedScrollBehavior

Cmn

```
@Composable
fun pinnedScrollBehavior(
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true }
): TopAppBarScrollBehavior
```

Returns a pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that tracks nested-scroll callbacks and updates its `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState#contentOffset()` accordingly. Note: If your layout utilizes `reverseLayout` or `reverseScrolling`, please use the overload that takes a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` parameter.

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions. |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` |

### pinnedScrollBehavior

Cmn

```
@Composable
fun pinnedScrollBehavior(
    scrollableState: ScrollableState,
    state: TopAppBarState = rememberTopAppBarState(),
    canScroll: () -> Boolean = { true }
): TopAppBarScrollBehavior
```

Returns a pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` that tracks nested-scroll callbacks and updates its `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState#contentOffset()` accordingly.

This overload is intended for use cases where the scroll state is represented by a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` (e.g. `LazyVerticalGrid`). It automatically determines if the content is at the start by observing the scroll position of the provided `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState`.

The returned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` is remembered across compositions.

A sample for a pinned small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` that is scrolled with a reversed `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/grid/LazyVerticalGrid.composable#LazyVerticalGrid(androidx.compose.foundation.lazy.grid.GridCells,androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect,androidx.compose.foundation.lazy.layout.LazyLayoutCacheWindow,kotlin.Function1)`:

```kotlin
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.PlainTooltip
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TooltipAnchorPosition
import androidx.compose.material3.TooltipBox
import androidx.compose.material3.TooltipDefaults
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTooltipState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.semantics.LiveRegionMode
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.paneTitle
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp

val lazyGridState = rememberLazyGridState()
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(scrollableState = lazyGridState)
Scaffold(
    modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
    topBar = {
        TopAppBar(
            title = { Text("TopAppBar", maxLines = 1, overflow = TextOverflow.Ellipsis) },
            navigationIcon = {
                TooltipBox(
                    positionProvider =
                        TooltipDefaults.rememberTooltipPositionProvider(
                            TooltipAnchorPosition.Above
                        ),
                    tooltip = {
                        PlainTooltip(
                            modifier =
                                Modifier.semantics {
                                    // TODO(b/496338253): Remove this modifier once bug where
                                    //   tooltip text is not announced by a11y screen readers
                                    //   is resolved.
                                    liveRegion = LiveRegionMode.Assertive
                                    paneTitle = "Menu"
                                }
                        ) {
                            Text("Menu")
                        }
                    },
                    state = rememberTooltipState(),
                ) {
                    IconButton(onClick = { /* doSomething() */ }) {
                        Icon(imageVector = Icons.Filled.Menu, contentDescription = "Menu")
                    }
                }
            },
            scrollBehavior = scrollBehavior,
        )
    },
    content = { innerPadding ->
        LazyVerticalGrid(
            columns = GridCells.Adaptive(minSize = 100.dp),
            reverseLayout = true,
            modifier = Modifier.padding(innerPadding),
            state = lazyGridState,
        ) {
            val list = (0..75).map { it.toString() }
            items(count = list.size) {
                Box(Modifier.fillMaxWidth().height(50.dp)) {
                    Text(
                        text = list[it],
                        style = MaterialTheme.typography.bodyLarge,
                        modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
                    )
                }
            }
        }
    },
)
```

A sample for a pinned small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` that is scrolled with a pre-scrolled `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyColumn.composable#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect,androidx.compose.foundation.lazy.layout.LazyLayoutCacheWindow,kotlin.Function1)`:

```kotlin
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.PlainTooltip
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TooltipAnchorPosition
import androidx.compose.material3.TooltipBox
import androidx.compose.material3.TooltipDefaults
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberTooltipState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.semantics.LiveRegionMode
import androidx.compose.ui.semantics.liveRegion
import androidx.compose.ui.semantics.paneTitle
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp

val lazyListState = rememberLazyListState(initialFirstVisibleItemIndex = 30)
// Pass the state to ensure the top app bar color updates correctly when content is reversed or
// pre-scrolled.
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(scrollableState = lazyListState)
Scaffold(
    modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
    topBar = {
        TopAppBar(
            title = { Text("TopAppBar", maxLines = 1, overflow = TextOverflow.Ellipsis) },
            navigationIcon = {
                TooltipBox(
                    positionProvider =
                        TooltipDefaults.rememberTooltipPositionProvider(
                            TooltipAnchorPosition.Above
                        ),
                    tooltip = {
                        PlainTooltip(
                            modifier =
                                Modifier.semantics {
                                    // TODO(b/496338253): Remove this modifier once bug where
                                    //   tooltip text is not announced by a11y screen readers
                                    //   is resolved.
                                    liveRegion = LiveRegionMode.Assertive
                                    paneTitle = "Menu"
                                }
                        ) {
                            Text("Menu")
                        }
                    },
                    state = rememberTooltipState(),
                ) {
                    IconButton(onClick = { /* doSomething() */ }) {
                        Icon(imageVector = Icons.Filled.Menu, contentDescription = "Menu")
                    }
                }
            },
            scrollBehavior = scrollBehavior,
        )
    },
    content = { innerPadding ->
        LazyColumn(
            state = lazyListState,
            modifier = Modifier.padding(innerPadding),
            verticalArrangement = Arrangement.spacedBy(8.dp),
        ) {
            val list = (0..75).map { it.toString() }
            items(count = list.size) {
                Text(
                    text = list[it],
                    style = MaterialTheme.typography.bodyLarge,
                    modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
                )
            }
        }
    },
)
```

| Parameters |
|---|---|
| `scrollableState: https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` | the `https://developer.android.com/reference/kotlin/androidx/compose/foundation/gestures/ScrollableState` of the scrollable container, used to determine if the content is at the start |
| `state: https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarState = rememberTopAppBarState()` | the state object to be used to control or observe the top app bar's scroll state. See `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberTopAppBarState.composable#rememberTopAppBarState(kotlin.Float,kotlin.Float,kotlin.Float)` for a state that is remembered across compositions |
| `canScroll: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | a callback used to determine whether scroll events are to be handled by this pinned `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior` |

### topAppBarColors

Cmn

```
@Composable
fun topAppBarColors(): TopAppBarColors
```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`. The default implementation animates between the provided colors according to the Material Design specification.

### topAppBarColors

Cmn

```
@Composable
fun topAppBarColors(
    containerColor: Color = Color.Unspecified,
    scrolledContainerColor: Color = Color.Unspecified,
    navigationIconContentColor: Color = Color.Unspecified,
    titleContentColor: Color = Color.Unspecified,
    actionIconContentColor: Color = Color.Unspecified,
    subtitleContentColor: Color = Color.Unspecified
): TopAppBarColors
```

Creates a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` for small `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`. The default implementation animates between the provided colors according to the Material Design specification.

| Parameters |
|---|---|
| `containerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color |
| `scrolledContainerColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the container color when content is scrolled behind it |
| `navigationIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the navigation icon |
| `titleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the title |
| `actionIconContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for actions |
| `subtitleContentColor: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color = Color.Unspecified` | the content color used for the subtitle |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` | the resulting `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarColors` used for the top app bar |

## Public properties

### ContentPadding

Cmn

```
val ContentPadding: PaddingValues
```

Default padding used for `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` content

### LargeAppBarCollapsedHeight

Cmn

```
val LargeAppBarCollapsedHeight: Dp
```

The default height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` when collapsed by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`.

### LargeAppBarExpandedHeight

Cmn

```
val LargeAppBarExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeTopAppBar.composable#LargeTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`.

### LargeFlexibleAppBarWithSubtitleExpandedHeight

Cmn

```
val LargeFlexibleAppBarWithSubtitleExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeFlexibleTopAppBar.composable#LargeFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` with subtitle.

### LargeFlexibleAppBarWithoutSubtitleExpandedHeight

Cmn

```
val LargeFlexibleAppBarWithoutSubtitleExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/LargeFlexibleTopAppBar.composable#LargeFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` without subtitle.

### MediumAppBarCollapsedHeight

Cmn

```
val MediumAppBarCollapsedHeight: Dp
```

The default height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` when collapsed by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBarScrollBehavior`.

### MediumAppBarExpandedHeight

Cmn

```
val MediumAppBarExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumTopAppBar.composable#MediumTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)`.

### MediumFlexibleAppBarWithSubtitleExpandedHeight

Cmn

```
val MediumFlexibleAppBarWithSubtitleExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumFlexibleTopAppBar.composable#MediumFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` with subtitle.

### MediumFlexibleAppBarWithoutSubtitleExpandedHeight

Cmn

```
val MediumFlexibleAppBarWithoutSubtitleExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/MediumFlexibleTopAppBar.composable#MediumFlexibleTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function1,androidx.compose.ui.Alignment.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)` without subtitle.

### TopAppBarExpandedHeight

Cmn

```
val TopAppBarExpandedHeight: Dp
```

The default expanded height of a `https://developer.android.com/reference/kotlin/androidx/compose/material3/TopAppBar.composable#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)` and the `https://developer.android.com/reference/kotlin/androidx/compose/material3/CenterAlignedTopAppBar.composable#CenterAlignedTopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior,androidx.compose.foundation.layout.PaddingValues)`.

### flingAnimationSpec

Cmn

```
val flingAnimationSpec: DecayAnimationSpec<Float>
```

Default `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/DecayAnimationSpec` that defines how to fling the top app bar when the user flings the app bar itself, or the scrollable content.

### snapAnimationSpec

Cmn

```
val snapAnimationSpec: AnimationSpec<Float>
```

Default `https://developer.android.com/reference/kotlin/androidx/compose/animation/core/AnimationSpec` that defines how the top app bar snaps to either fully collapsed or fully extended state when a fling or a drag scrolled it into an intermediate position.

### windowInsets

Cmn

```
val windowInsets: WindowInsets
```

Default insets to be used and consumed by the top app bars