当前位置: 首页 > 知识库问答 >
问题:

以编程方式单击jetpack compose中的textfield

陆啸
2023-03-14

有没有一种方法以编程方式点击文本字段,这样当我的搜索屏幕弹出时,它会自动点击文本字段,同时弹出键盘。或者也许,有没有一种方法可以知道TextField的touch事件?

共有1个答案

淳于兴朝
2023-03-14

您可以将焦点赋予组件。
类似于:

var text by remember { mutableStateOf(TextFieldValue("text")) }
val focusRequester = FocusRequester()
val keyboardController = LocalSoftwareKeyboardController.current

val interactionSource = remember { MutableInteractionSource() }
val isFocused by interactionSource.collectIsFocusedAsState()

Column {
    TextField(
        value = text,
        onValueChange = {
            text = it
        },
        interactionSource = interactionSource,
        label = { Text("label") },
        modifier = Modifier
            // add focusRequester modifier
            .focusRequester(focusRequester)
            .onFocusChanged {
                if (isFocused) {
                    keyboardController?.showSoftwareKeyboard()
                }
            }
    )
}

后来呢:

DisposableEffect(Unit) {
    focusRequester.requestFocus()
    onDispose { }
}
 类似资料:
  • 问题内容: 在IE中,我只能从JavaScript调用element.click()-如何在Firefox中完成相同的任务?理想情况下,我希望有一些跨浏览器同样可以正常工作的JavaScript,但是如果需要,我将为此使用不同的逐浏览器JavaScript。 问题答案: 该文件说:“ 该 _createEvent_方法已被弃用。使用事件构造来代替。 ” 因此,您应该改用以下方法: 并在这样的元素上

  • 问题内容: 我将如何以编程方式单击Swing JButton,该方式将注册所有相关的动作/鼠标事件并且对用户可见(即,他们将看到按下的按钮就好像他们实际单击了按钮一样)? 该按钮位于我正在运行的同一应用程序中;我不是要控制另一个应用程序中的按钮。我想我可以将事件直接注入到队列中,但是如果可能的话,我宁愿避免这种方法,并且这样做不会显示可见的点击。 我看到java.awt.Robot类提供了移动鼠标

  • 问题内容: 我有2个视图控制器,应根据用户输入进行交换。因此,我想根据从文本文件获得的输入以编程方式切换视图。 关于如何以编程方式单击按钮或使用输入加载特定ViewController的任何帮助? 问题答案: 要以编程方式触发事件,您需要致电 - 迅捷3

  • 我如何以编程方式单击通知操作按钮(另一个应用程序通知,而不是我的)?我可以使用 ;button.performClick()方法单击普通按钮。我有可访问性服务来监听传入的通知(和通知服务监听到Android5.0+),所以,有没有办法做到这一点? 例如,单击“打开电池保护程序”或“实用地共享/删除”

  • 我有一个谷歌地图,它使用一个融合表层来动态设置大量多边形的样式。在这一层的顶部,我还在多边形本身的特定板条位置生成一组标记。我希望有以下行为: 当您单击多边形上的任何位置时,将弹出一个infoWindow,由融合表中的数据填充。这是工作。 当您单击标记时,它应该将单击事件传递到融合表层,并创建与标记的LatLng处发生自然单击相同的弹出窗口。这就是我正在努力的,目前还没有成功。我在每个标记上添加一

  • 我想知道是否有任何“简单”的方法,我可以设置垂直滚动条“滚动”一个特定的数量,按下按钮,或真正的任何事件在所有。 例如,我有一个应用程序,它有一个侧栏,侧栏上的一个选项是设置。Settings有子项,我想添加点击其中一个子项的功能,它将打开Settings页面,并自动向下滚动到该子项所在页面上的特定点。