Um estado em foco fornece uma indicação visual clara para ajudar os usuários a entender qual elemento da IU está em foco no momento. Todos os componentes interativos do Material 3 fornecem indicações de foco integradas por padrão.
Indicação de foco do tema do Material Design
Os componentes do Material Design usam a função ripple e LocalIndication
para desenhar mudanças de estado visual.
Para anexar o feedback de foco padrão do Material Design a um componente personalizado:
- Crie um
MutableInteractionSourceusandoremember { MutableInteractionSource() }. - Transmita a origem da interação para o 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 indicadores visuais personalizados (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.
- Metas de foco
- Ordem de apresentação do foco
- Reagir para focar