← Back to Wear Material
SwipeToDismissBox
Component
in
Wear Material
. Since 1.0.0Overview
Code Examples
Video
Wear Material SwipeToDismissBox that handles the swipe-to-dismiss gesture. Takes a single slot for the background (only displayed during the swipe gesture) and the foreground content.
Example of a SwipeToDismissBox with stateful composables:
Overloads
SwipeToDismissBox
@Composable
public fun SwipeToDismissBox(
state: androidx.wear.compose.foundation.SwipeToDismissBoxState,
modifier: Modifier = Modifier,
backgroundScrimColor: Color = MaterialTheme.colors.background,
contentScrimColor: Color = MaterialTheme.colors.background,
backgroundKey: Any = SwipeToDismissKeys.Background,
contentKey: Any = SwipeToDismissKeys.Content,
hasBackground: Boolean = true,
content: @Composable BoxScope.(isBackground: Boolean) -> Unit
)
Parameters
Name | Description |
---|---|
state | State containing information about ongoing swipe or animation. |
modifier | Optional Modifier for this component. |
backgroundScrimColor | Color for background scrim |
contentScrimColor | Optional Color used for the scrim over the content composable during the swipe gesture. |
backgroundKey | Optional key which identifies the content currently composed in the content block when isBackground == true. Provide the backgroundKey if your background content will be displayed as a foreground after the swipe animation ends (as is common when SwipeToDismissBox is used for the navigation). This allows remembered state to be correctly moved between background and foreground. @Param contentKey Optional key which identifies the content currently composed in the content block when isBackground == false. See backgroundKey. @Param hasBackground Optional Boolean used to indicate if the content has no background, in which case the swipe gesture is disabled (since there is no parent destination). |
content | Slot for content, with the isBackground parameter enabling content to be displayed behind the foreground content - the background is normally hidden, is shown behind a scrim during the swipe gesture, and is shown without scrim once the finger passes the swipe-to-dismiss threshold |
SwipeToDismissBox
@Suppress("DEPRECATION")
@Deprecated(
"This overload is provided for backwards compatibility. " +
"A newer overload is available that uses " +
"androidx.wear.compose.foundation.SwipeToDismissBoxState.",
replaceWith = ReplaceWith("SwipeToDismissBox(" +
"state, modifier, backgroundScrimColor, contentScrimColor, backgroundKey, contentKey," +
"hasBackground, content)"
)
)
@Composable
public fun SwipeToDismissBox(
state: SwipeToDismissBoxState,
modifier: Modifier = Modifier,
backgroundScrimColor: Color = MaterialTheme.colors.background,
contentScrimColor: Color = MaterialTheme.colors.background,
backgroundKey: Any = SwipeToDismissKeys.Background,
contentKey: Any = SwipeToDismissKeys.Content,
hasBackground: Boolean = true,
content: @Composable BoxScope.(isBackground: Boolean) -> Unit
)
Parameters
Name | Description |
---|---|
state | State containing information about ongoing swipe or animation. |
modifier | Optional Modifier for this component. |
backgroundScrimColor | Color for background scrim |
contentScrimColor | Optional Color used for the scrim over the content composable during the swipe gesture. |
backgroundKey | Optional key which identifies the content currently composed in the content block when isBackground == true. Provide the backgroundKey if your background content will be displayed as a foreground after the swipe animation ends (as is common when SwipeToDismissBox is used for the navigation). This allows remembered state to be correctly moved between background and foreground. @Param contentKey Optional key which identifies the content currently composed in the content block when isBackground == false. See backgroundKey. @Param hasBackground Optional Boolean used to indicate if the content has no background, in which case the swipe gesture is disabled (since there is no parent destination). |
content | Slot for content, with the isBackground parameter enabling content to be displayed behind the foreground content - the background is normally hidden, is shown behind a scrim during the swipe gesture, and is shown without scrim once the finger passes the swipe-to-dismiss threshold |
SwipeToDismissBox
@Composable
public fun SwipeToDismissBox(
onDismissed: () -> Unit,
modifier: Modifier = Modifier,
state: androidx.wear.compose.foundation.SwipeToDismissBoxState =
androidx.wear.compose.foundation.rememberSwipeToDismissBoxState(),
backgroundScrimColor: Color = MaterialTheme.colors.background,
contentScrimColor: Color = MaterialTheme.colors.background,
backgroundKey: Any = SwipeToDismissKeys.Background,
contentKey: Any = SwipeToDismissKeys.Content,
hasBackground: Boolean = true,
content: @Composable BoxScope.(isBackground: Boolean) -> Unit
)
Parameters
Name | Description |
---|---|
onDismissed | Executes when the swipe to dismiss has completed. |
modifier | Optional Modifier for this component. |
state | State containing information about ongoing swipe or animation. |
backgroundScrimColor | Color for background scrim |
contentScrimColor | Optional Color used for the scrim over the content composable during the swipe gesture. |
backgroundKey | Optional key which identifies the content currently composed in the content block when isBackground == true. Provide the backgroundKey if your background content will be displayed as a foreground after the swipe animation ends (as is common when SwipeToDismissBox is used for the navigation). This allows remembered state to be correctly moved between background and foreground. @Param contentKey Optional key which identifies the content currently composed in the content block when isBackground == false. See backgroundKey. @Param hasBackground Optional Boolean used to indicate if the content has no background, in which case the swipe gesture is disabled (since there is no parent destination). |
content | Slot for content, with the isBackground parameter enabling content to be displayed behind the foreground content - the background is normally hidden, is shown behind a scrim during the swipe gesture, and is shown without scrim once the finger passes the swipe-to-dismiss threshold |
SwipeToDismissBox
@Suppress("DEPRECATION")
@Deprecated(
"This overload is provided for backwards compatibility. " +
"A newer overload is available that uses " +
"androidx.wear.compose.foundation.SwipeToDismissBoxState.",
replaceWith = ReplaceWith("SwipeToDismissBox(" +
"onDismiss, modifier, state, backgroundScrimColor, contentScrimColor, backgroundKey," +
"contentKey, hasBackground, content)"
),
level = DeprecationLevel.HIDDEN
)
@Composable
public fun SwipeToDismissBox(
onDismissed: () -> Unit,
modifier: Modifier = Modifier,
state: SwipeToDismissBoxState = rememberSwipeToDismissBoxState(),
backgroundScrimColor: Color = MaterialTheme.colors.background,
contentScrimColor: Color = MaterialTheme.colors.background,
backgroundKey: Any = SwipeToDismissKeys.Background,
contentKey: Any = SwipeToDismissKeys.Content,
hasBackground: Boolean = true,
content: @Composable BoxScope.(isBackground: Boolean) -> Unit
)
Parameters
Name | Description |
---|---|
onDismissed | Executes when the swipe to dismiss has completed. |
modifier | Optional Modifier for this component. |
state | State containing information about ongoing swipe or animation. |
backgroundScrimColor | Color for background scrim |
contentScrimColor | Optional Color used for the scrim over the content composable during the swipe gesture. |
backgroundKey | Optional key which identifies the content currently composed in the content block when isBackground == true. Provide the backgroundKey if your background content will be displayed as a foreground after the swipe animation ends (as is common when SwipeToDismissBox is used for the navigation). This allows remembered state to be correctly moved between background and foreground. @Param contentKey Optional key which identifies the content currently composed in the content block when isBackground == false. See backgroundKey. @Param hasBackground Optional Boolean used to indicate if the content has no background, in which case the swipe gesture is disabled (since there is no parent destination). |
content | Slot for content, with the isBackground parameter enabling content to be displayed behind the foreground content - the background is normally hidden, is shown behind a scrim during the swipe gesture, and is shown without scrim once the finger passes the swipe-to-dismiss threshold |