SubcomposeMeasureScope
Interface
Common
interface SubcomposeMeasureScope : MeasureScope
The receiver scope of a SubcomposeLayout
's measure lambda which adds ability to dynamically
subcompose a content during the measuring on top of the features provided by MeasureScope
.
Functions
fun subcompose(slotId: Any?, content: @Composable () -> Unit): List<Measurable>
Performs subcomposition of the provided content
with given slotId
.
Parameters
slotId | unique id which represents the slot we are composing into. If you have fixed amount or slots you can use enums as slot ids, or if you have a list of items maybe an index in the list or some other unique key can work. To be able to correctly match the content between remeasures you should provide the object which is equals to the one you used during the previous measuring. |
content | the composable content which defines the slot. It could emit multiple layouts, in this case the returned list of Measurable s will have multiple elements. Note: When a SubcomposeLayout is in a LookaheadScope , the subcomposition only happens during the lookahead pass. In the post-lookahead/main pass, subcompose will return the list of Measurable s that were subcomposed during the lookahead pass. If the structure of the subtree emitted from content is dependent on incoming constraints, consider using constraints received from the lookahead pass for both passes. |