# DenseListItem

## Functions summary

|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/tv/material3/DenseListItem.composable#DenseListItem(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.unit.Dp,androidx.tv.material3.ListItemShape,androidx.tv.material3.ListItemColors,androidx.tv.material3.ListItemScale,androidx.tv.material3.ListItemBorder,androidx.tv.material3.ListItemGlow,androidx.compose.foundation.interaction.MutableInteractionSource)( selected: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onClick: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, headlineContent: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier, enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onLongClick: (() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, overlineContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, supportingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, leadingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, trailingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)?, tonalElevation: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, shape: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemShape, colors: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemColors, scale: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemScale, border: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemBorder, glow: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemGlow, interactionSource: https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource? )` Lists are continuous, vertical indexes of text or images. |

## Functions

### DenseListItem

Artifact: [androidx.tv:tv-material](https://developer.android.com/jetpack/androidx/releases/tv) [View Source](https://cs.android.com/search?q=file:androidx/tv/material3/ListItem.kt+function:DenseListItem)

```
@Composable
fun DenseListItem(
    selected: Boolean,
    onClick: () -> Unit,
    headlineContent: @Composable () -> Unit,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    onLongClick: (() -> Unit)? = null,
    overlineContent: (@Composable () -> Unit)? = null,
    supportingContent: (@Composable () -> Unit)? = null,
    leadingContent: (@Composable BoxScope.() -> Unit)? = null,
    trailingContent: (@Composable () -> Unit)? = null,
    tonalElevation: Dp = ListItemDefaults.TonalElevation,
    shape: ListItemShape = ListItemDefaults.shape(),
    colors: ListItemColors = ListItemDefaults.colors(),
    scale: ListItemScale = ListItemDefaults.scale(),
    border: ListItemBorder = ListItemDefaults.border(),
    glow: ListItemGlow = ListItemDefaults.glow(),
    interactionSource: MutableInteractionSource? = null
): Unit
```

Lists are continuous, vertical indexes of text or images.

`https://developer.android.com/reference/kotlin/androidx/tv/material3/DenseListItem.composable#DenseListItem(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.unit.Dp,androidx.tv.material3.ListItemShape,androidx.tv.material3.ListItemColors,androidx.tv.material3.ListItemScale,androidx.tv.material3.ListItemBorder,androidx.tv.material3.ListItemGlow,androidx.compose.foundation.interaction.MutableInteractionSource)` is a smaller/denser version of the Material `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItem.composable#ListItem(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.unit.Dp,androidx.tv.material3.ListItemShape,androidx.tv.material3.ListItemColors,androidx.tv.material3.ListItemScale,androidx.tv.material3.ListItemBorder,androidx.tv.material3.ListItemGlow,androidx.compose.foundation.interaction.MutableInteractionSource)`.

This component can be used to achieve the list item templates existing in the spec. One-line list items have a singular line of headline content. Two-line list items additionally have either supporting or overline content. Three-line list items have either both supporting and overline content, or extended (two-line) supporting text.

This ListItem handles click events, calling its `https://developer.android.com/reference/kotlin/androidx/tv/material3/package-summary#DenseListItem(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.unit.Dp,androidx.tv.material3.ListItemShape,androidx.tv.material3.ListItemColors,androidx.tv.material3.ListItemScale,androidx.tv.material3.ListItemBorder,androidx.tv.material3.ListItemGlow,androidx.compose.foundation.interaction.MutableInteractionSource)` lambda. It also support selected state which can be toggled using the `https://developer.android.com/reference/kotlin/androidx/tv/material3/package-summary#DenseListItem(kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.ui.unit.Dp,androidx.tv.material3.ListItemShape,androidx.tv.material3.ListItemColors,androidx.tv.material3.ListItemScale,androidx.tv.material3.ListItemBorder,androidx.tv.material3.ListItemGlow,androidx.compose.foundation.interaction.MutableInteractionSource)` param.

| Parameters |
|---|---|
| `selected: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | defines whether this ListItem is selected or not |
| `onClick: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | called when this ListItem is clicked |
| `headlineContent: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable` headline content of the list item |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier = Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` to be applied to the list item |
| `enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | controls the enabled state of this list item. When `false`, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services. |
| `onLongClick: (() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | called when this ListItem is long clicked (long-pressed). |
| `overlineContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable` content displayed above the headline content |
| `supportingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable` content displayed below the headline content |
| `leadingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable` leading content of the list item |
| `trailingContent: (@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)? = null` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable` trailing meta text, icon, switch or checkbox |
| `tonalElevation: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = ListItemDefaults.TonalElevation` | the tonal elevation of this list item |
| `shape: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemShape = ListItemDefaults.shape()` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemShape` defines the shape of ListItem's container in different interaction states. See `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemDefaults#shape(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Shape)`. |
| `colors: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemColors = ListItemDefaults.colors()` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemColors` defines the background and content colors used in the list item for different interaction states. See `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemDefaults#colors(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color)` |
| `scale: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemScale = ListItemDefaults.scale()` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemScale` defines the size of the list item relative to its original size in different interaction states. See `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemDefaults#scale(kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float,kotlin.Float)` |
| `border: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemBorder = ListItemDefaults.border()` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemBorder` defines a border around the list item in different interaction states. See `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemDefaults#border(androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border,androidx.tv.material3.Border)` |
| `glow: https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemGlow = ListItemDefaults.glow()` | `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemGlow` defines a shadow to be shown behind the list item for different interaction states. See `https://developer.android.com/reference/kotlin/androidx/tv/material3/ListItemDefaults#glow(androidx.tv.material3.Glow,androidx.tv.material3.Glow,androidx.tv.material3.Glow,androidx.tv.material3.Glow,androidx.tv.material3.Glow,androidx.tv.material3.Glow)` |
| `interactionSource: https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource? = null` | an optional hoisted `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/MutableInteractionSource` for observing and emitting `https://developer.android.com/reference/kotlin/androidx/compose/foundation/interaction/Interaction`s for this list item. You can use this to change the list item's appearance or preview the list item in different states. Note that if `null` is provided, interactions will still happen internally. |