ContextualFlowColumn
Deprecated ContextualFlowLayouts are no longer maintained
@Composable
@ExperimentalLayoutApi
fun ContextualFlowColumn(
itemCount: Int,
modifier: Modifier = Modifier,
verticalArrangement: Arrangement.Vertical = Arrangement.Top,
horizontalArrangement: Arrangement.Horizontal = Arrangement.Start,
itemHorizontalAlignment: Alignment.Horizontal = Alignment.Start,
maxItemsInEachColumn: Int = Int.MAX_VALUE,
maxLines: Int = Int.MAX_VALUE,
overflow: ContextualFlowColumnOverflow = ContextualFlowColumnOverflow.Clip,
content: @Composable ContextualFlowColumnScope.(index: Int) -> Unit,
)
ContextualFlowColumn
is a specialized version of the FlowColumn
layout. It is designed to
enable users to make contextual decisions during the construction of FlowColumn
layouts.
This component is particularly advantageous when dealing with a large collection of items,
allowing for efficient management and display. Unlike traditional FlowColumn
that composes all
items regardless of their visibility, ContextualFlowColumn smartly limits composition to only
those items that are visible within its constraints, such as maxLines
or maxWidth
. This
approach ensures optimal performance and resource utilization by composing fewer items than the
total number available, based on the current context and display parameters.
While maintaining the core functionality of the standard FlowColumn
, ContextualFlowColumn
operates on an index-based system and composes items sequentially, one after another. This
approach provides a perfect way to make contextual decisions and can be an easier way to handle
problems such as dynamic see more buttons such as (N+ buttons).
Parameters
itemCount | The total number of item composable |
modifier | The modifier to be applied to the Row. |
verticalArrangement | The vertical arrangement of the layout's virtual column. |
horizontalArrangement | The horizontal arrangement of the layout's children. |
itemHorizontalAlignment | The cross axis/horizontal alignment of an item in the column. |
maxItemsInEachColumn | The maximum number of items per column |
maxLines | The maximum number of columns |
overflow | The straoadtegy to handle overflowing items |
content | The indexed-based content of ContextualFlowColumnScope |