Known direct subclasses
ExtendedPaneScaffoldScope

Extended scope for pane scaffolds.

Known indirect subclasses
ExtendedPaneScaffoldPaneScope

Extended scope for the panes of pane scaffolds.

ThreePaneScaffoldPaneScope

Scope for the panes of ThreePaneScaffold.

ThreePaneScaffoldScope

Scope for the panes of ThreePaneScaffold.


The base scope of pane scaffolds, which provides scoped functions that supported by pane scaffolds.

Summary

Public functions

Modifier
@ExperimentalMaterial3AdaptiveApi
Modifier.paneExpansionDraggable(
    state: PaneExpansionState,
    minTouchTargetSize: Dp,
    interactionSource: MutableInteractionSource
)

The modifier that should be applied on a drag handle composable so the drag handle can be dragged and operate on the provided PaneExpansionState properly.

Cmn
Modifier

This modifier specifies the preferred width for a pane, and the pane scaffold implementation will try its best to respect this width when the associated pane is rendered as a fixed pane, i.e., a pane that are not stretching to fill the remaining spaces.

Cmn

Public functions

@ExperimentalMaterial3AdaptiveApi
fun Modifier.paneExpansionDraggable(
    state: PaneExpansionState,
    minTouchTargetSize: Dp,
    interactionSource: MutableInteractionSource
): Modifier

The modifier that should be applied on a drag handle composable so the drag handle can be dragged and operate on the provided PaneExpansionState properly. This modifier also sets up other behaviors a pane expansion drag handle is supposed to perform, like excluding system gestures and ensuring minimum touch target size.

See usage samples at:

import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.VerticalDragHandle
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier

val interactionSource = remember { MutableInteractionSource() }
VerticalDragHandle(
    modifier =
        Modifier.paneExpansionDraggable(
            state,
            LocalMinimumInteractiveComponentSize.current,
            interactionSource
        ),
    interactionSource = interactionSource
)
fun Modifier.preferredWidth(width: Dp): Modifier

This modifier specifies the preferred width for a pane, and the pane scaffold implementation will try its best to respect this width when the associated pane is rendered as a fixed pane, i.e., a pane that are not stretching to fill the remaining spaces. In case the modifier is not set or set to Dp.Unspecified, the default preferred widths provided by PaneScaffoldDirective are supposed to be used.