Активное состояние обеспечивает четкий визуальный сигнал, помогающий пользователям понять, какой элемент интерфейса в данный момент имеет фокус ввода. Все интерактивные компоненты Material 3 по умолчанию имеют встроенные индикаторы фокуса.
Индикация фокуса в теме Material
Компоненты Material используют функцию ripple и LocalIndication для отрисовки изменений визуального состояния.
Чтобы прикрепить стандартный отзыв о фокусе на материале к специальному компоненту:
- Создайте
MutableInteractionSource, используяremember { MutableInteractionSource() }. - Передайте источник взаимодействия модификатору
indicationвместе сripple().
val interactionSource = remember { MutableInteractionSource() } Box( modifier = Modifier .clickable( interactionSource = interactionSource, indication = null ) { /* onClick */ } .indication( interactionSource = interactionSource, indication = ripple() ) ) { Text("Custom component with Material ripple") }
Как реализовать специальные индикаторы перехода
Для специальных визуальных подсказок (например, масштабирования, границ или эффектов свечения):
- Создайте
IndicationNodeFactory. - Наблюдайте за взаимодействиями фокуса, которые исходят от элемента
InteractionSource. - Примените специальное обозначение с помощью модификатора
indication.
var interactionSource = remember { MutableInteractionSource() } Card( modifier = Modifier .clickable( interactionSource = interactionSource, indication = MyHighlightIndication, enabled = true, onClick = { } ) ) { Text("hello") }
Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Цели фокусировки
- Порядок перехода фокуса
- Реакция на фокус