---
title: "LazyItemScope"
description: "Receiver scope being used by the item content parameter of LazyColumn/Row."
type: "interface"
---

<div class='type'>Interface</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>



```kotlin
@LazyScopeMarker
@JvmDefaultWithCompatibility
interface LazyItemScope
```


Receiver scope being used by the item content parameter of LazyColumn/Row.


## Functions

```kotlin
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 `androidx.compose.foundation.layout.fillMaxSize` can't work inside the scrolling
layouts as the items are measured with `Constraints.Infinity` as the constraints for the main
axis.


```kotlin
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 `androidx.compose.foundation.layout.fillMaxWidth` can't work inside the scrolling
horizontally layouts as the items are measured with `Constraints.Infinity` as the constraints
for the main axis.


```kotlin
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 `androidx.compose.foundation.layout.fillMaxHeight` can't work inside the scrolling
vertically layouts as the items are measured with `Constraints.Infinity` as the constraints
for the main axis.


```kotlin
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. |




