TopAppBarState


A state object that can be hoisted to control and observe the top app bar state. The state is read and updated by a TopAppBarScrollBehavior implementation.

In most cases, this state will be created via rememberTopAppBarState.

Summary

Public companion properties

Saver<TopAppBarState, *>

The default Saver implementation for TopAppBarState.

Cmn

Public constructors

TopAppBarState(
    initialHeightOffsetLimit: Float,
    initialHeightOffset: Float,
    initialContentOffset: Float
)
Cmn

Public properties

Float

A value that represents the collapsed height percentage of the app bar.

Cmn
Float

The total offset of the content scrolled under the top app bar.

Cmn
Float

The top app bar's current height offset in pixels.

Cmn
Float

The top app bar's height offset limit in pixels, which represents the limit that a top app bar is allowed to collapse to.

Cmn
Float

A value that represents the percentage of the app bar area that is overlapping with the content scrolled behind it.

Cmn

Public companion properties

Saver

val SaverSaver<TopAppBarState, *>

The default Saver implementation for TopAppBarState.

Public constructors

TopAppBarState

TopAppBarState(
    initialHeightOffsetLimit: Float,
    initialHeightOffset: Float,
    initialContentOffset: Float
)
Parameters
initialHeightOffsetLimit: Float

the initial value for TopAppBarState.heightOffsetLimit

initialHeightOffset: Float

the initial value for TopAppBarState.heightOffset

initialContentOffset: Float

the initial value for TopAppBarState.contentOffset

Public properties

collapsedFraction

val collapsedFractionFloat

A value that represents the collapsed height percentage of the app bar.

A 0.0 represents a fully expanded bar, and 1.0 represents a fully collapsed bar (computed as heightOffset / heightOffsetLimit).

contentOffset

var contentOffsetFloat

The total offset of the content scrolled under the top app bar.

The content offset is used to compute the overlappedFraction, which can later be read by an implementation.

This value is updated by a TopAppBarScrollBehavior whenever a nested scroll connection consumes scroll events. A common implementation would update the value to be the sum of all NestedScrollConnection.onPostScroll consumed.y values.

heightOffset

var heightOffsetFloat

The top app bar's current height offset in pixels. This height offset is applied to the fixed height of the app bar to control the displayed height when content is being scrolled.

Updates to the heightOffset value are coerced between zero and heightOffsetLimit.

heightOffsetLimit

var heightOffsetLimitFloat

The top app bar's height offset limit in pixels, which represents the limit that a top app bar is allowed to collapse to.

Use this limit to coerce the heightOffset value when it's updated.

overlappedFraction

val overlappedFractionFloat

A value that represents the percentage of the app bar area that is overlapping with the content scrolled behind it.

A 0.0 indicates that the app bar does not overlap any content, while 1.0 indicates that the entire visible app bar area overlaps the scrolled content.