LazyItemScope
@LazyScopeMarker
@JvmDefaultWithCompatibility
interface LazyItemScope
Receiver scope being used by the item content parameter of LazyColumn/Row.
Functions
fun Modifier.fillParentMaxSize(@FloatRange(from = 0.0, to = 1.0) fraction: Float = 1f): Modifier
Have the content fill the Constraints.maxWidth
and Constraints.maxHeight
of the parent
measurement constraints by setting the minimum width
to be equal to
the maximum width
multiplied by fraction
and the
minimum height
to be equal to the
maximum height
multiplied by fraction
. Note that, by default, the
fraction
is 1, so the modifier will make the content fill the whole available space.
fraction
must be between 0
and 1
.
Regular Modifier.fillMaxSize
can't work inside the scrolling layouts as the items are
measured with Constraints.Infinity
as the constraints for the main axis.
fun Modifier.fillParentMaxWidth(
@FloatRange(from = 0.0, to = 1.0) fraction: Float = 1f
): Modifier
Have the content fill the Constraints.maxWidth
of the parent measurement constraints by
setting the minimum width
to be equal to the
maximum width
multiplied by fraction
. Note that, by default, the
fraction
is 1, so the modifier will make the content fill the whole parent width.
fraction
must be between 0
and 1
.
Regular Modifier.fillMaxWidth
can't work inside the scrolling horizontally layouts as the
items are measured with Constraints.Infinity
as the constraints for the main axis.
fun Modifier.fillParentMaxHeight(
@FloatRange(from = 0.0, to = 1.0) fraction: Float = 1f
): Modifier
Have the content fill the Constraints.maxHeight
of the incoming measurement constraints by
setting the minimum height
to be equal to the
maximum height
multiplied by fraction
. Note that, by default, the
fraction
is 1, so the modifier will make the content fill the whole parent height.
fraction
must be between 0
and 1
.
Regular Modifier.fillMaxHeight
can't work inside the scrolling vertically layouts as the
items are measured with Constraints.Infinity
as the constraints for the main axis.
fun Modifier.animateItem(
fadeInSpec: FiniteAnimationSpec<Float>? = spring(stiffness = Spring.StiffnessMediumLow),
placementSpec: FiniteAnimationSpec<IntOffset>? =
spring(
stiffness = Spring.StiffnessMediumLow,
visibilityThreshold = IntOffset.VisibilityThreshold,
),
fadeOutSpec: FiniteAnimationSpec<Float>? = spring(stiffness = Spring.StiffnessMediumLow),
): Modifier
This modifier animates the item appearance (fade in), disappearance (fade out) and placement changes (such as an item reordering).
You should also provide a key via LazyListScope.item
/LazyListScope.items
for this
modifier to enable animations.
Parameters
fadeInSpec | an animation specs to use for animating the item appearance. When null is provided the item will be appearing without animations. |
placementSpec | an animation specs that will be used to animate the item placement. Aside from item reordering all other position changes caused by events like arrangement or alignment changes will also be animated. When null is provided no animations will happen. |
fadeOutSpec | an animation specs to use for animating the item disappearance. When null is provided the item will be disappearance without animations. |