Um estado em foco fornece uma dica visual clara para ajudar os usuários a entender qual elemento da interface está com o foco de entrada no momento. Todos os componentes interativos do Material 3 fornecem indicações de foco integradas por padrão.
Indicação de foco do tema Material
Os componentes do Material usam a função ripple e LocalIndication
para desenhar mudanças de estado visual.
Para anexar um feedback de foco padrão do Material a um componente personalizado:
- Crie um
MutableInteractionSourceusandoremember { MutableInteractionSource() }. - Transmita a origem da interação ao modificador
indication, junto comripple().
val interactionSource = remember { MutableInteractionSource() } Box( modifier = Modifier .clickable( interactionSource = interactionSource, indication = null ) { /* onClick */ } .indication( interactionSource = interactionSource, indication = ripple() ) ) { Text("Custom component with Material ripple") }
Implementar indicações de foco personalizadas
Para dicas visuais personalizadas (como dimensionamento, bordas ou efeitos de brilho):
- Crie um
IndicationNodeFactory. - Observe as interações de foco emitidas pelo
InteractionSourcedo elemento. - Aplique a indicação personalizada usando o modificador
indication.
var interactionSource = remember { MutableInteractionSource() } Card( modifier = Modifier .clickable( interactionSource = interactionSource, indication = MyHighlightIndication, enabled = true, onClick = { } ) ) { Text("hello") }
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Segmentações por foco
- Ordem de apresentação do foco
- Reagir ao foco