layoutId
Functions summary
Functions
Modifier.layoutId
fun Modifier.layoutId(layoutId: Any): Modifier
Tag the element with layoutId to identify the element within its parent.
Example usage:
import androidx.compose.foundation.layout.Box import androidx.compose.ui.Modifier import androidx.compose.ui.layout.Layout import androidx.compose.ui.layout.layout import androidx.compose.ui.layout.layoutId import androidx.compose.ui.unit.Constraints Layout({ // Here the Containers are only needed to apply the modifiers. You could use the // modifier on header and footer directly if they are composables accepting modifiers. Box(Modifier.layoutId("header")) { header() } Box(Modifier.layoutId("footer")) { footer() } }) { measurables, constraints -> val placeables = measurables.map { measurable -> when (measurable.layoutId) { // You should use appropriate constraints. Here we measure fake constraints. "header" -> measurable.measure(Constraints.fixed(100, 100)) "footer" -> measurable.measure(constraints) else -> error("Unexpected tag") } } // Size should be derived from children measured sizes on placeables, // but this is simplified for the purposes of the example. layout(100, 100) { placeables.forEach { it.placeRelative(0, 0) } } }