在特殊互動模式 (例如嵌入式繪圖畫布、遊戲控制器介面或互動強制回應輸入對話方塊) 中,應用程式可能需要暫時將焦點鎖定在單一元件上,並防止 Tab 鍵或方向鍵離開。
擷取焦點
如要擷取焦點,請在 FocusRequester 上叫用 captureFocus():
val focusRequester = remember { FocusRequester() } Box( modifier = Modifier .focusRequester(focusRequester) .focusable() .onFocusChanged { focusState -> if (focusState.isFocused) { focusRequester.captureFocus() } } )
擷取焦點時,標準焦點導覽鍵 (例如 Tab) 不會將焦點移至鄰近元件。
釋出焦點
如要退出擷取狀態,並在整個 UI 中還原正常焦點導覽,請呼叫 freeFocus():
IconButton( onClick = { focusRequester.freeFocus() } ) { Icon(Icons.Default.Close, contentDescription = "Exit focus lock") }
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 焦點目標
- 將焦點目標分組
- 透過程式輔助要求焦點