---
title: "BottomAppBarScrollBehavior"
description: "A BottomAppBarScrollBehavior defines how a bottom app bar should behave when the content under it
is scrolled."
type: "interface"
---

<div class='type'>Interface</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>



```kotlin
@ExperimentalMaterial3Api
interface BottomAppBarScrollBehavior
```


A BottomAppBarScrollBehavior defines how a bottom app bar should behave when the content under it
is scrolled.


## Properties

<div class='sourceset sourceset-common'>Common</div>


```kotlin
val state: BottomAppBarState
```


A `BottomAppBarState` that is attached to this behavior and is read and updated when
scrolling happens.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val isPinned: Boolean
```


Indicates whether the bottom app bar is pinned.

A pinned app bar will stay fixed in place when content is scrolled and will not react to any
drag gestures.



<div class='sourceset sourceset-common'>Common</div>


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


An optional `AnimationSpec` that defines how the bottom app bar snaps to either fully
collapsed or fully extended state when a fling or a drag scrolled it into an intermediate
position.



<div class='sourceset sourceset-common'>Common</div>


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


An optional `DecayAnimationSpec` that defined how to fling the bottom app bar when the user
flings the app bar itself, or the content below it.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val nestedScrollConnection: NestedScrollConnection
```


A `NestedScrollConnection` that should be attached to a
`androidx.compose.ui.input.nestedscroll.nestedScroll` in order to keep track of the scroll
events.




