androidx.compose.ui
Interfaces
Alignment | |
Modifier |
An ordered, immutable collection of modifier elements that decorate or add behavior to Compose UI elements. |
Classes
BiasAbsoluteAlignment |
An Alignment specified by bias: for example, a bias of -1 represents alignment to the left/top, a bias of 0 will represent centering, and a bias of 1 will represent right/bottom. |
BiasAlignment |
An Alignment specified by bias: for example, a bias of -1 represents alignment to the start/top, a bias of 0 will represent centering, and a bias of 1 will represent end/bottom. |
CombinedModifier |
A node in a Modifier chain. |
Type-aliases
CacheDrawScope |
Handle to a drawing environment that enables caching of content based on the resolved size. |
ContentDrawScope |
Receiver scope for drawing content into a layout, where the content can be drawn between other canvas operations. |
DrawCacheModifier |
DrawModifier implementation that supports building a cache of objects to be referenced across draw calls |
DrawModifier |
A Modifier.Element that draws into the space of the layout. |
DrawResult |
Holder to a callback to be invoked during draw operations. |
TransformOrigin |
Annotations
ExperimentalComposeUiApi | |
InternalComposeUiApi |
Unstable API for use only between |
Top-level functions summary
Unit |
An interface to calculate the position of a sized box inside an available space. |
Extension functions summary
For Modifier | |
Modifier |
Modifier.composed(inspectorInfo: InspectorInfo.() -> Unit = NoInspectorInfo, factory: Modifier.() -> Modifier) Declare a just-in-time composition of a Modifier that will be composed for each element it modifies. |
Modifier |
Modifier.drawBehind(onDraw: DrawScope.() -> Unit) Draw into a Canvas behind the modified content. |
Modifier |
Modifier.drawLayer(scaleX: Float = 1f, scaleY: Float = 1f, alpha: Float = 1f, translationX: Float = 0f, translationY: Float = 0f, shadowElevation: Float = 0f, rotationX: Float = 0f, rotationY: Float = 0f, rotationZ: Float = 0f, cameraDistance: Float = DefaultCameraDistance, transformOrigin: TransformOrigin = TransformOrigin.Center, shape: Shape = RectangleShape, clip: Boolean = false) A Modifier.Element that makes content draw into a draw layer. |
Modifier |
Modifier.drawWithCache(onBuildDrawCache: CacheDrawScope.() -> DrawResult) Draw into a DrawScope with content that is persisted across draw calls as long as the size of the drawing area is the same or any state objects that are read have not changed. |
Modifier |
Modifier.drawWithContent(onDraw: ContentDrawScope.() -> Unit) |
Modifier |
Add this modifier to a component to make it focusable. |
Modifier |
Creates a modifier that controls the drawing order for the children of the same layout parent. |
For Composer | |
Modifier |
Composer<*>.materialize(modifier: Modifier) Materialize any instance-specific composed modifiers for applying to a raw tree node. |
Top-level functions
<no name provided>
@Immutable fun <no name provided>(): Unit
An interface to calculate the position of a sized box inside an available space. Alignment is often used to define the alignment of a layout inside a parent layout.
Extension functions
composed
fun Modifier.composed(
inspectorInfo: InspectorInfo.() -> Unit = NoInspectorInfo,
factory: Modifier.() -> Modifier
): Modifier
Declare a just-in-time composition of a Modifier that will be composed for each element it modifies. composed may be used to implement stateful modifiers that have instance-specific state for each modified element, allowing the same Modifier instance to be safely reused for multiple elements while maintaining element-specific state.
If inspectorInfo is specified this modifier will be visible to tools during development. Specify the name and arguments of the original modifier.
Example usage:
import androidx.compose.ui.composed import androidx.compose.ui.platform.debugInspectorInfo // let's create you own custom stateful modifier fun Modifier.myColorModifier(color: Color) = composed( // pass inspector information for debug inspectorInfo = debugInspectorInfo { // name should match the name of the modifier name = "myColorModifier" // specify a single argument as the value when the argument name is irrelevant value = color }, // pass your modifier implementation that resolved per modified element factory = { // add your modifier implementation here Modifier } )
import androidx.compose.ui.composed import androidx.compose.ui.platform.debugInspectorInfo // let's create you own custom stateful modifier with multiple arguments fun Modifier.myModifier(width: Dp, height: Dp, color: Color) = composed( // pass inspector information for debug inspectorInfo = debugInspectorInfo { // name should match the name of the modifier name = "myModifier" // add name and value of each argument properties["width"] = width properties["height"] = height properties["color"] = color }, // pass your modifier implementation that resolved per modified element factory = { // add your modifier implementation here Modifier } )materialize must be called to create instance-specific modifiers if you are directlyapplying a Modifier to an element tree node.
drawBehind
fun Modifier.drawBehind(onDraw: DrawScope.() -> Unit): Modifier
Deprecated.
Draw into a Canvas behind the modified content.
drawLayer
@Stable fun Modifier.drawLayer(
scaleX: Float = 1f,
scaleY: Float = 1f,
alpha: Float = 1f,
translationX: Float = 0f,
translationY: Float = 0f,
shadowElevation: Float = 0f,
rotationX: Float = 0f,
rotationY: Float = 0f,
rotationZ: Float = 0f,
cameraDistance: Float = DefaultCameraDistance,
transformOrigin: TransformOrigin = TransformOrigin.Center,
shape: Shape = RectangleShape,
clip: Boolean = false
): Modifier
Deprecated.
A Modifier.Element that makes content draw into a draw layer. The draw layer can be invalidated separately from parents. A drawLayer should be used when the content updates independently from anything above it to minimize the invalidated content.
drawLayer can also be used to apply effects to content, such as scaling (scaleX, scaleY), rotation (rotationX, rotationY, rotationZ