State of Compose 2023 results are in! Click here to learn more

← Back to Material Compose

TriStateCheckbox

Component
in
Material
. Since 0.1.0-dev15

Overview

Code Examples

<a href="https://material.io/components/checkboxes" class="external" target="_blank">Material Design checkbox</a> parent.

Checkboxes can have a parent-child relationship with other checkboxes. When the parent checkbox is checked, all child checkboxes are checked. If a parent checkbox is unchecked, all child checkboxes are unchecked. If some, but not all, child checkboxes are checked, the parent checkbox becomes an indeterminate checkbox.

!Checkboxes image(https://developer.android.com/images/reference/androidx/compose/material/checkboxes.png)

Overloads

TriStateCheckbox

@Composable
fun TriStateCheckbox(
    state: ToggleableState,
    onClick: (() -> Unit)?,
    modifier: Modifier = Modifier,
    enabled: Boolean = true,
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    colors: CheckboxColors = CheckboxDefaults.colors()
)

Parameters

NameDescription
statewhether TriStateCheckbox is checked, unchecked or in indeterminate state
onClickcallback to be invoked when checkbox is being clicked, therefore the change of ToggleableState state is requested. If null, then this is passive and relies entirely on a higher-level component to control the state.
modifierModifier to be applied to the layout of the checkbox
enabledwhether the component is enabled or grayed out
interactionSourcethe MutableInteractionSource representing the stream of Interactions for this TriStateCheckbox. You can create and pass in your own remembered MutableInteractionSource if you want to observe Interactions and customize the appearance / behavior of this TriStateCheckbox in different Interactions.
colorsCheckboxColors that will be used to determine the color of the checkmark / box / border in different states. See CheckboxDefaults.colors