public interface Style : CustomStyle<StyleScope>
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:
- They define their own observation scope, meaning you can read
Stateobjects inside of them - CompositionLocals can be read inside of them. This allows for many theme-based values to be
- The StyleScope interface allows for state-based styling to be defined such as "pressed"
- Transition-based animations of style properties can be done automatically without defining any
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)
used in their definition without adding to the capture scope of the lambda.
states or "hover" states or "focus" states.
animated values by leveraging the animate API.
Members
Companion
public companion object : Style