首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么focusManager不能在Jetpack中工作?

为什么focusManager不能在Jetpack中工作?
EN

Stack Overflow用户
提问于 2022-02-24 20:21:57
回答 1查看 326关注 0票数 0

我尝试用imeAction onNext和focusDirection.down将焦点从用户textfield移到密码textfield,但是当我按下键盘的next按钮时,焦点就会被清除。UI图像

我在这里显示代码:

代码语言:javascript
复制
val focusManager = LocalFocusManager.current
//we start to implement login screen UI-->
    LazyColumn(
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally,
    ) {
        item {
            
        item {
            OutlinedTextField(

                value = emailValue.value,
                keyboardOptions = KeyboardOptions(
                    imeAction = ImeAction.Next,
                    keyboardType = KeyboardType.Password
                ),
                keyboardActions = KeyboardActions(
                    onNext ={
                        focusManager.moveFocus(FocusDirection.Down)
                    }

                ),
EN

回答 1

Stack Overflow用户

发布于 2022-02-25 01:05:44

设置singleLine,请尝试

代码语言:javascript
复制
OutlinedTextField(
...
singleLine = true,
)

简单例子

代码语言:javascript
复制
@Composable
fun Test() {
    val focusManager = LocalFocusManager.current
    var text1 by remember {
        mutableStateOf("")
    }
    LazyColumn() {
        items(2){
            OutlinedTextField(value = text1, onValueChange = {
                text1 = it
            },
                keyboardOptions = KeyboardOptions(
                    imeAction = ImeAction.Next,
                    keyboardType = KeyboardType.Text
                ),
                keyboardActions = KeyboardActions(
                    onNext ={
                        focusManager.moveFocus(FocusDirection.Down)
                    }
                ),
                singleLine = true
            )
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71257810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档