edgeSwipeToDismiss
public fun Modifier.edgeSwipeToDismiss(
swipeToDismissBoxState: SwipeToDismissBoxState,
edgeWidth: Dp = SwipeToDismissBoxDefaults.EdgeWidth,
): Modifier
Handles swipe to dismiss from the edge of the viewport.
Used when the content of the BasicSwipeToDismissBox
is handling all the gestures of the
viewport, which prevents BasicSwipeToDismissBox
from handling the swipe-to-dismiss gesture.
Examples of this scenario are horizontal paging, such as 2-d scrolling a Map or swiping
horizontally between pages.
Use of Modifier.edgeSwipeToDismiss
defines a zone on the left side of the viewport of width
edgeWidth
in which the swipe-right gesture is intercepted. Other touch events are ignored -
vertical scroll, click, long click, etc.
Currently Edge swipe, like swipe to dismiss, is only supported on the left part of the viewport regardless of layout direction as content is swiped away from left to right.
Requires that the element to which this modifier is applied exists within a
BasicSwipeToDismissBox
which is using the same SwipeToDismissBoxState
instance. As such,
Modifier.edgeSwipeToDismiss
is also compatible with SwipeDismissableNavHost up to and including
API 35. However, for API 36 onwards, SwipeDismissableNavHost uses platform predictive back events
for navigation, and is not compatible with Modifier.edgeSwipeToDismiss
.
Requires that the element to which this modifier is applied notifies the nested scroll system
about the scrolling events that are happening on the element. For example, using a
NestedScrollDispatcher
.
Example of a modifier usage with SwipeToDismiss
Parameters
swipeToDismissBoxState | State of BasicSwipeToDismissBox . Used to trigger swipe gestures on SwipeToDismissBox. |
edgeWidth | Width of the edge zone in which the swipe will be recognised. |