---
title: "Scrollable2DState"
description: "Default implementation of [Scrollable2DState] interface that contains necessary information about
the ongoing fling and provides smooth scrolling capabilities.

This is the simplest way to set up a [scrollable2D] modifier. When constructing this
[Scrollable2DState], you must provide a [consumeScrollDelta] lambda, which will be invoked
whenever scroll happens (by gesture input, by smooth scrolling, by flinging or nested scroll)
with the delta in pixels. The amount of scrolling delta consumed must be returned from this
lambda to ensure proper nested scrolling behaviour."
type: "function"
---

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


<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Scrollable2DState(consumeScrollDelta: (Offset) -> Offset): Scrollable2DState
```


Default implementation of `Scrollable2DState` interface that contains necessary information about
the ongoing fling and provides smooth scrolling capabilities.

This is the simplest way to set up a `scrollable2D` modifier. When constructing this
`Scrollable2DState`, you must provide a `consumeScrollDelta` lambda, which will be invoked
whenever scroll happens (by gesture input, by smooth scrolling, by flinging or nested scroll)
with the delta in pixels. The amount of scrolling delta consumed must be returned from this
lambda to ensure proper nested scrolling behaviour.

#### Parameters

| | |
| --- | --- |
| consumeScrollDelta | callback invoked when drag/fling/smooth scrolling occurs. The callback receives the delta in pixels. Callers should update their state in this lambda and return the amount of delta consumed |




