我正在使用 Jetpack 撰写1.0.0-alpha07
。我制作了一个包含两个的登录屏幕TextField
使用其他可组合项进行定制。
然而,设置ImeAction
in keyboardOptions
似乎不起作用。例如ImeAction.Next
不将焦点移动到下一个文本字段。我认为我应该做点什么来使其成为可能,但没有任何文件或文章简短地谈论过ImeOptions
。这是我的屏幕代码:
Login可组合:
EmailEdit(onChange = { email.value = it })
PasswordEdit(onChange = { password.value = it })
电子邮件编辑:
@Composable
fun EmailEdit(onChange: (String) -> Unit) {
val t = remember { mutableStateOf("") }
TextField(
value = t.value,
onValueChange = { value ->
t.value = value
onChange(value)
},
leadingIcon = { Icon(asset = Icons.Default.Email) },
label = { Text(text = "Email") },
maxLines = 1,
keyboardOptions = KeyboardOptions(
imeAction = ImeAction.Next, // ** Go to next **
keyboardType = KeyboardType.Email
),
visualTransformation = VisualTransformation.None
)
} errorHint = "Not a valid email"
)
}
PassEdit:
@Composable
fun PasswordEdit(onChange: (String) -> Unit) {
val t = remember { mutableStateOf("") }
TextField(
value = t.value,
onValueChange = { value ->
t.value = value
onChange(value)
},
leadingIcon = { Icon(asset = Icons.Default.Security) },
label = { Text(text = "Password") },
maxLines = 1,
keyboardOptions = KeyboardOptions(
imeAction = ImeAction.Done, // ** Done. Close the keyboard **
keyboardType = KeyboardType.Text
),
visualTransformation = PasswordVisualTransformation()
)
}
去表演Done
and Next
我应该添加什么代码?