如何在低版本的 Android 系統使用 Compose clearfocus
1 min
前言
公司的 App 有個需求是點擊空白處需要把 Focus 在輸入框的欄位取消焦點 + 鍵盤收起來,原本有寫一個 Modifier extension 來處理這一類的事情,結果在測試的時候發現 Android 8 點擊空白處會瞬間收起鍵盤,然後又把鍵盤叫出來。
定位問題
搭配 onFocusChanged 來查看,收下鍵盤的時候確實會觸發 Inactive 的狀態,但會看到馬上又會觸發 Active,所以鍵盤才會一收下去馬上又上來。
解決方法
我在輸入框的 Composable 元件最上層 Modifier 添加 focusable 讓舊系統走一遍流程,因為我有搭配 focusRequester,實驗發現如果 focusable 沒有在 focusRequester 之前,focusRequester 也會失效。
Comments
Loading comments...