Ein fokussierter Zustand bietet einen klaren visuellen Hinweis darauf, welches UI-Element derzeit den Eingabefokus hat. Alle interaktiven Material 3-Komponenten bieten standardmäßig integrierte Fokusindikatoren.
Fokusanzeige im Material Theme
Materialkomponenten verwenden die Funktion ripple und LocalIndication, um Änderungen des visuellen Status zu zeichnen.
So hängen Sie Standard-Material-Fokus-Feedback an eine benutzerdefinierte Komponente an:
- Erstellen Sie mit
remember { MutableInteractionSource() }einenMutableInteractionSource. - Übergeben Sie die Interaktionsquelle zusammen mit
ripple()an den Modifikatorindication.
val interactionSource = remember { MutableInteractionSource() } Box( modifier = Modifier .clickable( interactionSource = interactionSource, indication = null ) { /* onClick */ } .indication( interactionSource = interactionSource, indication = ripple() ) ) { Text("Custom component with Material ripple") }
Benutzerdefinierte Fokusanzeigen implementieren
Für benutzerdefinierte visuelle Hinweise (z. B. Skalierung, Rahmen oder Leuchteffekte):
- Erstellen Sie eine
IndicationNodeFactory. - Beobachten Sie die Fokusinteraktionen, die von der
InteractionSourcedes Elements ausgegeben werden. - Wenden Sie die benutzerdefinierte Angabe mit dem Modifikator
indicationan.
var interactionSource = remember { MutableInteractionSource() } Card( modifier = Modifier .clickable( interactionSource = interactionSource, indication = MyHighlightIndication, enabled = true, onClick = { } ) ) { Text("hello") }
Empfehlungen für Sie
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist
- Fokusziele
- Reihenfolge des Fokusdurchlaufs
- Auf Fokus reagieren