Interface

OverlayScene

A specific scene to render 1 or more NavEntry instances as an overlay.

Source set: Common
public interface OverlayScene<T : Any> : Scene<T>

A specific scene to render 1 or more NavEntry instances as an overlay.

It is expected that the content is rendered in one or more separate windows (e.g., a dialog, popup window, etc.) that are visible above any additional Scene instances calculated from the overlaidEntries.

When processing overlaidEntries, expect processing of each SceneStrategy to restart from the first strategy. This may result in multiple instances of the same OverlayScene to be shown simultaneously, making a unique key even more important.

Properties

overlaidEntries

Source set: Common
public val overlaidEntries: List<NavEntry<T>>

The NavEntrys that should be handled by another Scene that sits below this Scene.

This must always be a non-empty list to correctly display entries below the overlay.

Functions

onRemove

public suspend fun onRemove()

Callback that is invoked after this OverlayScene is popped from the backStack, but before it leaves composition.

Animations for exiting overlays should be implemented within onRemove. This ensures that any suspending animations or other suspending work completes before the overlay is removed from composition.

Last updated: