← 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
Name | Description |
---|---|
state | whether this checkbox is checked, unchecked, or in an indeterminate state |
onClick | called 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. |
modifier | the Modifier to be applied to this checkbox |
enabled | controls 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. |
colors | CheckboxColors that will be used to resolve the colors used for this checkbox in different states. See CheckboxDefaults.colors. |
interactionSource | the MutableInteractionSource representing the stream of Interactions for this checkbox. You can create and pass in your own remember ed 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
Name | Description |
---|---|
state | whether TriStateCheckbox is checked, unchecked or in indeterminate state |
onClick | callback 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. |
modifier | Modifier to be applied to the layout of the checkbox |
enabled | whether the component is enabled or grayed out |
interactionSource | the 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. |
colors | CheckboxColors that will be used to determine the color of the checkmark / box / border in different states. See CheckboxDefaults.colors |

Previous Component← TopAppBar
Next ComponentVerticalDivider →
