---
title: "FlingBehavior"
description: "Interface to specify fling behavior.

When drag has ended with velocity in [scrollable], [performFling] is invoked to perform fling
animation and update state via [ScrollScope.scrollBy]"
type: "interface"
---

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


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

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



```kotlin
interface FlingBehavior
```


Interface to specify fling behavior.

When drag has ended with velocity in `scrollable`, `performFling` is invoked to perform fling
animation and update state via `ScrollScope.scrollBy`


## Functions

```kotlin
suspend fun ScrollScope.performFling(initialVelocity: Float): Float
```


Perform settling via fling animation with given velocity and suspend until fling has
finished.

This functions is called with `ScrollScope` to drive the state change of the
`androidx.compose.foundation.gestures.ScrollableState` via `ScrollScope.scrollBy`.

This function must return correct velocity left after it is finished flinging in order to
guarantee proper nested scroll support.

#### Parameters

| | |
| --- | --- |
| initialVelocity | velocity available for fling in the orientation specified in `androidx.compose.foundation.gestures.scrollable` that invoked this method. |


#### Returns

| | |
| --- | --- |
|  | remaining velocity after fling operation has ended |




