---
title: "pullToRefresh"
description: "A Modifier that adds nested scroll to a container to support a pull-to-refresh gesture. When the
user pulls a distance greater than [threshold] and releases the gesture, [onRefresh] is invoked.
[PullToRefreshBox] applies this automatically."
type: "modifier"
---

<div class='type'>Compose Modifier</div>

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


```kotlin
fun Modifier.pullToRefresh(
    isRefreshing: Boolean,
    state: PullToRefreshState,
    enabled: Boolean = true,
    threshold: Dp = PullToRefreshDefaults.PositionalThreshold,
    onRefresh: () -> Unit,
): Modifier
```


A Modifier that adds nested scroll to a container to support a pull-to-refresh gesture. When the
user pulls a distance greater than `threshold` and releases the gesture, `onRefresh` is invoked.
`PullToRefreshBox` applies this automatically.

#### Parameters

| | |
| --- | --- |
| isRefreshing | whether a refresh is occurring or not, if there is no gesture in progress when isRefreshing is false the `state.distanceFraction` will animate to 0f, otherwise it will animate to 1f |
| state | state that keeps track of the distance pulled |
| enabled | whether nested scroll events should be consumed by this modifier |
| threshold | how much distance can be scrolled down before `onRefresh` is invoked |
| onRefresh | callback that is invoked when the distance pulled is greater than `threshold` |




