SideSheetState
SideSheetState
@Stableclass SideSheetState( initialValue: SideSheetValue = SideSheetValue.Hidden, density: Density, confirmValueChange: (SideSheetValue) -> Boolean = { true },)Properties
| Property | Type | Description |
|---|---|---|
currentValue | SideSheetValue | Current sheet state (Hidden or Expanded) |
targetValue | SideSheetValue | Target state during animation |
isVisible | Boolean | true when currentValue is Expanded |
offset | Float | Current drag offset in pixels |
Functions
| Function | Description |
|---|---|
suspend expand() | Animate to Expanded state |
suspend hide() | Animate to Hidden state |
rememberSideSheetState
@Composablefun rememberSideSheetState( initialValue: SideSheetValue = SideSheetValue.Hidden, confirmValueChange: (SideSheetValue) -> Boolean = { true },): SideSheetStateReturns a SideSheetState that survives recomposition and configuration changes via rememberSaveable.
Confirm Value Change
Use confirmValueChange to intercept state transitions:
val sheetState = rememberSideSheetState( confirmValueChange = { newValue -> if (newValue == SideSheetValue.Hidden && hasUnsavedChanges) { // Prevent dismiss when there are unsaved changes false } else { true } })SideSheetValue
enum class SideSheetValue { Hidden, Expanded,}SideSheetEdge
enum class SideSheetEdge { Start, End,}