Saltearse al contenido

TooltipBox

Material 3
Imagen del componente TooltipBox - Material3

El componente TooltipBox permite mostrar una breve descripción o ayuda contextual sobre un elemento al pasar el cursor o mantener presionado. Es útil para mejorar la experiencia de usuario proporcionando información sin necesidad de ocupar espacio visual permanente.

Implementación

Definición del componente

Terminal window
@Composable
@ExperimentalMaterial3Api
fun TooltipBox(
positionProvider: PopupPositionProvider,
tooltip: @Composable CaretScope.() -> Unit,
state: TooltipState,
modifier: Modifier = Modifier,
focusable: Boolean = true,
enableUserInput: Boolean = true,
content: @Composable () -> Unit,
)
AtributoDescripción
positionProviderProveedor que determina la posición del tooltip respecto al contenido. Utiliza PopupPositionProvider.
tooltipContenido a mostrar del tooltip. Se suele usar un PlainTooltip para mensajes cortos, o un RichTooltip para un contenido más complejo.
modifierModificador que implementará el composable.
stateManeja la visibilidad del tooltip (usualmente con rememberTooltipState()).
focusableSi es true, el tooltip podrá recibir foco (útil para accesibilidad) y capturará eventos táctiles mientras esté visible.
enableUserInputSi es true, el tooltip se mostrará automáticamente al mantener pulsado el contenido ancla.
contentContenido sobre el cual se ancla el tooltip.

Ejemplos

Imagen del componente TooltipBox - Material3

Terminal window
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun TooltipBoxExample() {
val tooltipState = rememberTooltipState()
TooltipBox(
positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider((-5).dp),
tooltip = {
PlainTooltip { Text("Add to favorites") }
},
state = tooltipState
) {
IconButton(onClick = { print("Add to favorites") }) {
Icon(
imageVector = Icons.Filled.Favorite,
contentDescription = "Add to favorites"
)
}
}
}