Android Compose Jetpack Autofocus on TextField when screen opened or programmatically on application requirement

Android Compose Jetpack Autofocus on TextField when screen open or programmatically on application requirement

我正在使用 android compose jetpack 版本“0.1.0-dev14”。根据应用程序要求,我想在屏幕可见时自动聚焦 TextField。另一种情况就像我想在下一个 ImeAction.Next 操作上关注同一屏幕中的下一个 TextField。我找不到解决此问题的任何方法或解决方案。如果有人能帮我解决这个问题,将不胜感激。

谢谢..!!

This sample 展示了如何请求关注下一个视图。

要在屏幕上的第一个视图上实现自动对焦,我相信可以使用:

// ... composable context...

onActive(callback = {
    focusModifiers.first().requestFocus()
})

// ... composable context...

使用1.0.0实现自动对焦你可以使用:

DisposableEffect(Unit) {
    focusRequester.requestFocus()
    onDispose { }
}

通过这种方式,系统将焦点授予与此 FocusRequester 关联的组件。 例如:

val focusRequester = FocusRequester()
TextField(
    //...
    modifier = Modifier
        // add focusRequester modifier 
        .focusRequester(focusRequester)
)