{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

Composition

Known direct subclasses
ControlledComposition

A controlled composition is a Composition that can be directly controlled by the caller.


A composition object is usually constructed for you, and returned from an API that is used to initially compose a UI. For instance, setContent returns a Composition.

The dispose method should be used when you would like to dispose of the UI and the Composition.

Summary

Public functions

Unit

Clear the hierarchy that was created from the composition and release resources allocated for composition.

Cmn
Unit
setContent(content: @Composable () -> Unit)

Update the composition with the content described by the content composable.

Cmn

Public properties

Boolean

Returns true if any pending invalidations have been scheduled.

Cmn
Boolean

True if dispose has been called.

Cmn

Public functions

dispose

fun dispose(): Unit

Clear the hierarchy that was created from the composition and release resources allocated for composition. After calling dispose the composition will no longer be recomposed and calling setContent will throw an IllegalStateException. Calling dispose is idempotent, all calls after the first are a no-op.

setContent

fun setContent(content: @Composable () -> Unit): Unit

Update the composition with the content described by the content composable. After this has been called the changes to produce the initial composition has been calculated and applied to the composition.

Will throw an IllegalStateException if the composition has been disposed.

Parameters
content: @Composable () -> Unit

A composable function that describes the content of the composition.

Throws
kotlin.IllegalStateException

thrown in the composition has been disposed.

Public properties

hasInvalidations

val hasInvalidationsBoolean

Returns true if any pending invalidations have been scheduled. An invalidation is schedule if RecomposeScope.invalidate has been called on any composition scopes create for the composition.

Modifying MutableState.value of a value produced by mutableStateOf will automatically call RecomposeScope.invalidate for any scope that read State.value of the mutable state instance during composition.

isDisposed

val isDisposedBoolean

True if dispose has been called.