我有一個BasicTextField適用于桌面的 Jetbrains Compose Multiplatform。當我點擊它時,TextField 獲得焦點并變得可編輯。但是,當我單擊應用程式中的其他位置時,焦點不會丟失,并且該欄位仍然可以編輯,就像我剛剛單擊它一樣。
我知道這種行為是正常和有意的。盡管如此,我想讓 TextField 在用戶點擊其他地方時變得不聚焦,無論它是可點擊的還是不可點擊的組合。
我如何實作這一目標?
uj5u.com熱心網友回復:
這是我過去做過的一種方式。
val keyboardController = LocalSoftwareKeyboardController.current
val focusManager = LocalFocusManager.current
val interactionSource = remember { MutableInteractionSource() }
然后我讓我的父布局可點擊。
Box(modifier = Modifier
.clickable(
interactionSource = interactionSource,
indication = null // this gets rid of the ripple effect
) {
keyboardController?.hide()
focusManager.clearFocus(true)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/387430.html
標籤:科特林 android-jetpack-compose jetbrains-compose 组合多平台
