【问题标题】:How to get initial focus in compose如何在撰写中获得初始焦点
【发布时间】:2023-02-08 20:11:43
【问题描述】:

如何在 Android 撰写应用程序上获得初始键盘焦点?

我的观点看起来像

Parent { Child { Button} }

我尝试在 Parent 可组合函数中实现它....

FocusRequester is not initialized. Here are some possible fixes:
                                                                                                
                                                                                                   
1. Remember the FocusRequester: val focusRequester = remember { FocusRequester() }
                                                                                                   
2. Did you forget to add a Modifier.focusRequester() ?
                                                                                                   
3. Are you attempting to request focus during composition? Focus requests should be made in response to some event. Eg Modifier.clickable { focusRequester.requestFocus() }

【问题讨论】:

    标签: android-jetpack-compose


    【解决方案1】:

    下面的代码就像一个魅力....

    fun Modifier.requestInitialFocus() = composed {
        val first = remember { FocusRequester() }
        LaunchedEffect(first) { first.requestFocus() }
        focusRequester(first)
    }
    

    原来的:

    在目标元素是直接子元素的可组合函数中实现它时,不会发生此错误......

    所以在 Child 中实现它似乎是一个解决方案....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      相关资源
      最近更新 更多