Interface

Style

Transitionary modifier.

Source set: Common
public interface Style : CustomStyle<StyleScope>

Transitionary modifier. Do not use. This will be removed before the Styles API is stable.

Style represents an opaque type which encodes a description of how to style a node in compose. It is implemented semantically like a lambda which is executed on a StyleScope.

These Style objects allow for styles to be defined similarly to a chain of Modifiers, however these Styles are applied by passing them into a styleable Modifier, or by passing them into an appropriately defined Style parameter of a Composable function.

The primary benefits of Style objects are:

    without risking recomposition. Properties that are changed as a result of the State changing will cause only the minimal invalidation possible (ie, changing background will only cause a redraw)

  1. They define their own observation scope, meaning you can read State objects inside of them
  2. used in their definition without adding to the capture scope of the lambda.

  3. CompositionLocals can be read inside of them. This allows for many theme-based values to be
  4. states or "hover" states or "focus" states.

  5. The StyleScope interface allows for state-based styling to be defined such as "pressed"
  6. animated values by leveraging the animate API.

  7. Transition-based animations of style properties can be done automatically without defining any

This type will be removed before style becomes stable. It is not yet deprecated to facilitate removing code that was written using the experimental 1.11 version of this API.

Members

Companion

Source set: Common
public companion object : Style

Content updated: