Interface

Modifier

An ordered, immutable collection of [modifier elements][Modifier.

ModifierFactorySample

@Composable
fun ModifierFactorySample() {
    class FancyModifier(val level: Float) : Modifier.Element
    fun Modifier.fancy(level: Float) = this.then(FancyModifier(level))
    Row(Modifier.fancy(1f).padding(10.dp)) {
        // content
    }
}

ModifierParameterSample

@Composable
fun ModifierParameterSample() {
    @Composable
    fun PaddedColumn(modifier: Modifier = Modifier) {
        Column(modifier.padding(10.dp)) {
            // ...
        }
    }
}

ModifierUsageSample

@Composable
fun ModifierUsageSample() {
    Text(
        "Hello, World!",
        Modifier.padding(16.dp) // Outer padding; outside background
            .background(color = Color.Green) // Solid element background color
            .padding(16.dp), // Inner padding; inside background, around text
    )
}

SubcomponentModifierSample

@Composable
fun SubcomponentModifierSample() {
    @Composable
    fun ButtonBar(
        onOk: () -> Unit,
        onCancel: () -> Unit,
        modifier: Modifier = Modifier,
        buttonModifier: Modifier = Modifier,
    ) {
        Row(modifier) {
            Button(onCancel, buttonModifier) { Text("Cancel") }
            Button(onOk, buttonModifier) { Text("Ok") }
        }
    }
}