Object

PagerDefaults

Contains the default values used by androidx.compose.foundation.pager.Pager.

RevenueCat

RevenueCat

Add subscriptions to your apps in minutes

Ad Get started for free
Android
public object PagerDefaults

Contains the default values used by androidx.compose.foundation.pager.Pager. These are optimised for Wear.

Functions

gestureInclusion

@Composable
public fun gestureInclusion(
    state: PagerState,
    edgeZoneFraction: Float = LeftEdgeZoneFraction,
): GestureInclusion

The default behaviour for when HorizontalPager should handle gestures. In this implementation of gestureInclusion, scroll events that originate in the left edge of the first page of the Pager (as determined by LeftEdgeZoneFraction) will be ignored. This allows swipe-to-dismiss handlers (if present) to handle the gesture in this region. However if talkback is enabled then the Pager will always handle gestures, never allowing swipe to dismiss handlers to take over.

Parameters

state The state of the HorizontalPager. Used to determine the current page.
edgeZoneFraction The fraction of the screen width from the left edge where gestures should be ignored on the first page. Defaults to LeftEdgeZoneFraction.

snapFlingBehavior

@Composable
public fun snapFlingBehavior(
    state: PagerState,
    maxFlingPages: Int = 1,
    decayAnimationSpec: DecayAnimationSpec<Float> = rememberSplineBasedDecay(),
    snapAnimationSpec: AnimationSpec<Float> = PagerDefaults.SnapAnimationSpec,
    @FloatRange(from = 0.0, to = 1.0) snapPositionalThreshold: Float = 0.5f,
): TargetedFlingBehavior

Default fling behavior for pagers on Wear, snaps at most one page at a time.

Parameters

state The PagerState that controls the androidx.compose.foundation.pager.Pager to which this FlingBehavior will be applied to.
maxFlingPages the maximum number of pages this androidx.compose.foundation.pager.Pager is allowed to fling after scrolling is finished and fling has started.
decayAnimationSpec The animation spec used to approach the target offset. When the fling velocity is large enough. Large enough means large enough to naturally decay. For single page snapping this usually never happens since there won't be enough space to run a decay animation.
snapAnimationSpec The animation spec used to finally snap to the position. This animation will be often used in 2 cases: 1) There was enough space to an approach animation, the Pager will use snapAnimationSpec in the last step of the animation to settle the page into position. 2) There was not enough space to run the approach animation. By default a Spring animation with no bounciness and high stiffness is used to ensure the Pager settles quickly so that contents are focused and clickable.
snapPositionalThreshold If the fling has a low velocity (e.g. slow scroll), this fling behavior will use this snap threshold in order to determine if the pager should snap back or move forward. Use a number between 0 and 1 as a fraction of the page size that needs to be scrolled before the Pager considers it should move to the next page. For instance, if snapPositionalThreshold = 0.35, it means if this pager is scrolled with a slow velocity and the Pager scrolls more than 35% of the page size, then will jump to the next page, if not it scrolls back. Note that any fling that has high enough velocity will always move to the next page in the direction of the fling.