by @alexstyl
✉️ Leave your feedback

← Back to Compose Multiplatform

TriStateCheckbox

Component
in
Compose Multiplatform
. Since 1.3.0-beta01

Overview

Examples

Community Notes

<a href="https://m3.material.io/components/checkbox/guidelines" 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.

!Checkbox image(https://developer.android.com/images/reference/androidx/compose/material3/indeterminate-checkbox.png)

Overloads

TriStateCheckbox

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

Parameters

NameDescription
statewhether this checkbox is checked, unchecked, or in an indeterminate state
onClickcalled when this checkbox is clicked. If null, then this checkbox will not be interactable, unless something else handles its input events and updates its state.
modifierthe Modifier to be applied to this checkbox
enabledcontrols the enabled state of this checkbox. When false, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.
colorsCheckboxColors that will be used to resolve the colors used for this checkbox in different states. See CheckboxDefaults.colors.
interactionSourcethe MutableInteractionSource representing the stream of Interactions for this checkbox. You can create and pass in your own remembered instance to observe Interactions and customize the appearance / behavior of this checkbox in different states

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
Previous ComponentTopAppBar
Next ComponentVerticalDivider