포커스 상태는 사용자가 현재 입력 포커스를 보유한 UI 요소를 이해하는 데 도움이 되는 명확한 시각적 신호를 제공합니다. 모든 대화형 Material 3 구성요소는 기본적으로 내장된 포커스 표시를 제공합니다.
Material 테마 포커스 표시
Material 구성요소는 ripple 함수와 LocalIndication를 사용하여 시각적 상태 변경사항을 그립니다.
표준 Material 포커스 피드백을 맞춤 구성요소에 연결하려면 다음 단계를 따르세요.
remember { MutableInteractionSource() }를 사용하여MutableInteractionSource를 만듭니다.ripple()와 함께 상호작용 소스를indication수정자에 전달합니다.
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가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- 포커스 타겟
- 포커스 순회 순서
- 집중 모드에 반응하기