Lo stato attivo fornisce un chiaro segnale visivo per aiutare gli utenti a capire quale elemento dell'interfaccia utente ha attualmente lo stato attivo. Tutti i componenti interattivi di Material 3 forniscono indicazioni di messa a fuoco integrate per impostazione predefinita.
Indicazione di focus del tema Material
I componenti Material utilizzano la funzione ripple e LocalIndication
per disegnare le modifiche dello stato visivo.
Per allegare un feedback standard di Material Focus a un componente personalizzato:
- Crea un
MutableInteractionSourceutilizzandoremember { MutableInteractionSource() }. - Passa l'origine dell'interazione al modificatore
indication, insieme aripple().
val interactionSource = remember { MutableInteractionSource() } Box( modifier = Modifier .clickable( interactionSource = interactionSource, indication = null ) { /* onClick */ } .indication( interactionSource = interactionSource, indication = ripple() ) ) { Text("Custom component with Material ripple") }
Implementare indicazioni di messa a fuoco personalizzate
Per segnali visivi personalizzati (come ridimensionamento, bordi o effetti luminosi):
- Crea un
IndicationNodeFactory. - Osserva le interazioni di messa a fuoco emesse da
InteractionSourcedell'elemento. - Applica l'indicazione personalizzata utilizzando il modificatore
indication.
var interactionSource = remember { MutableInteractionSource() } Card( modifier = Modifier .clickable( interactionSource = interactionSource, indication = MyHighlightIndication, enabled = true, onClick = { } ) ) { Text("hello") }
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Target di messa a fuoco
- Ordine di attraversamento del focus
- Reagire alla messa a fuoco