Jetpack Compose 输入法的弹出与隐藏-灵析社区

江江说技术

本文基于Jetpack Compose1.0.4

Jetpack Compose 提供了 SoftwareKeyboardController用于控制软键盘的显示与隐藏,可在Composable中通过LocalSoftwareKeyboardController.current获取

使用

隐藏

 val keyboard = LocalSoftwareKeyboardController.current
 // ...
 onClick = {
     keyboard?.hide()
 }

该操作会试图关闭软键盘,如果因为各种原因软键盘暂时无法关闭,则此操作会被忽略

打开

打开软键盘涉及到焦点的获取

 // 以下代码均在 @Composable 函数中
 // 焦点请求器
 val focusRequester = remember {
     FocusRequester()
 }
 // 为需要获取焦点的TextField添加此Modifier
 BasicTextField(
     modifier = Modifier
         .fillMaxWidth()
         .focusRequester(focusRequester)
 )
 // 请求焦点
 Button(onClick = {
     focusRequester.requestFocus()
     keyboard?.show()
 })

该操作会试图打开软键盘,如果因为各种原因软键盘暂时无法被打开,则此操作会被忽略

阅读量:2012

点赞量:0

收藏量:0