# SearchBarScrollState

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/SearchBar.kt+class:androidx.compose.material3.SearchBarScrollState) Common/AllAndroid/JVM
- Cmn

  ```
  class SearchBarScrollState
  ```

*** ** * ** ***

A state object that can be hoisted to control and observe the search bar's scroll state. The state is read and updated by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollBehavior` implementation.

In most cases, this state will be created via `https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberSearchBarScrollState.composable#rememberSearchBarScrollState(kotlin.Float,kotlin.Float,kotlin.Float)`.

## Summary

| ### Public companion properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/Saver<https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState, *>` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#Saver()` The default `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#Saver()` implementation for `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState`. | Cmn |

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#SearchBarScrollState(kotlin.Float,kotlin.Float,kotlin.Float)( initialScrollOffsetLimit: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, initialScrollOffset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, initialContentOffset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` | Cmn |

| ### Public properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#contentOffset()` The total offset of the content scrolled under the search bar. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffset()` The search bar's current offset due to scrolling, in pixels. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffsetLimit()` The limit that a search bar can be offset due to scrolling, in pixels. | Cmn |

## Public companion properties

### Saver

Cmn

```
val Saver: Saver<SearchBarScrollState, *>
```

The default `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#Saver()` implementation for `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState`.

## Public constructors

### SearchBarScrollState

Cmn

```
SearchBarScrollState(
    initialScrollOffsetLimit: Float,
    initialScrollOffset: Float,
    initialContentOffset: Float
)
```

| Parameters |
|---|---|
| `initialScrollOffsetLimit: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the initial value for `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffsetLimit()` |
| `initialScrollOffset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the initial value for `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffset()` |
| `initialContentOffset: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the initial value for `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#contentOffset()` |

## Public properties

### contentOffset

Cmn

```
var contentOffset: Float
```

The total offset of the content scrolled under the search bar.

The content offset is used to compute the `https://developer.android.com/reference/kotlin/androidx/compose/material3/package-summary#(androidx.compose.material3.SearchBarScrollBehavior).overlappedFraction()`, which can later be read by an implementation.

This value is updated by a `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollBehavior` whenever a nested scroll connection consumes scroll events. A common implementation would update the value to be the sum of all `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/nestedscroll/NestedScrollConnection#onPostScroll(androidx.compose.ui.geometry.Offset,androidx.compose.ui.geometry.Offset,androidx.compose.ui.input.nestedscroll.NestedScrollSource)` `consumed.y` values.

### scrollOffset

Cmn

```
var scrollOffset: Float
```

The search bar's current offset due to scrolling, in pixels. This offset is applied to the fixed size of the search bar to control the displayed size when content is being scrolled.

This value is typically negative.

Updates to the `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffset()` value are coerced between `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffsetLimit()` and 0.

### scrollOffsetLimit

Cmn

```
var scrollOffsetLimit: Float
```

The limit that a search bar can be offset due to scrolling, in pixels.

This value is typically negative.

Use this limit to coerce the `https://developer.android.com/reference/kotlin/androidx/compose/material3/SearchBarScrollState#scrollOffset()` value when it's updated.