PagerDefaults
object PagerDefaults
Contains the default values used by Pager. These are optimised for Wear.
Summary
Public functions |
|
|---|---|
GestureInclusion |
@ComposableThe default behaviour for when |
TargetedFlingBehavior |
@ComposableDefault fling behavior for pagers on Wear, snaps at most one page at a time. |
Public properties |
|
|---|---|
Int |
The default value of beyondViewportPageCount used to specify the number of pages to compose and layout before and after the visible pages. |
Float |
The default value used to configure the size of the left edge zone in a |
AnimationSpec<Float> |
The default spring animation used for the Pager's snap animation spec - a spring based animation with medium-high stiffness and no bounce. |
Public functions
gestureInclusion
@Composable
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: PagerState |
The state of the |
edgeZoneFraction: Float = LeftEdgeZoneFraction |
The fraction of the screen width from the left edge where gestures should be ignored on the first page. Defaults to |
snapFlingBehavior
@Composable
fun snapFlingBehavior(
state: PagerState,
maxFlingPages: Int = 1,
decayAnimationSpec: DecayAnimationSpec<Float> = rememberSplineBasedDecay(),
snapAnimationSpec: AnimationSpec<Float> = PagerDefaults.SnapAnimationSpec,
snapPositionalThreshold: @FloatRange(from = 0.0, to = 1.0) Float = 0.5f
): TargetedFlingBehavior
Default fling behavior for pagers on Wear, snaps at most one page at a time.
| Parameters | |
|---|---|
state: PagerState |
The |
maxFlingPages: Int = 1 |
the maximum number of pages this Pager is allowed to fling after scrolling is finished and fling has started. |
decayAnimationSpec: DecayAnimationSpec<Float> = rememberSplineBasedDecay() |
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: AnimationSpec<Float> = PagerDefaults.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 |
snapPositionalThreshold: @FloatRange(from = 0.0, to = 1.0) Float = 0.5f |
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. |
Public properties
BeyondViewportPageCount
val BeyondViewportPageCount: Int
The default value of beyondViewportPageCount used to specify the number of pages to compose and layout before and after the visible pages. It does not include the pages automatically composed and laid out by the pre-fetcher in the direction of the scroll during scroll events.
LeftEdgeZoneFraction
val LeftEdgeZoneFraction: Float
The default value used to configure the size of the left edge zone in a HorizontalPager. The left edge zone in this case refers to the leftmost edge of the screen, in this region in a Pager it is common to disable scrolling in order for swipe-to-dismiss handlers to take over.
SnapAnimationSpec
val SnapAnimationSpec: AnimationSpec<Float>
The default spring animation used for the Pager's snap animation spec - a spring based animation with medium-high stiffness and no bounce.