Kir*_*ran 8 android kotlin android-jetpack-compose android-compose-textfield
在 Android 模拟器中,使用计算机键盘输入,但我键盘上的“Enter”键应该接受输入并执行操作。相反,输入允许我进入下一行,并继续继续下一行(作为新行字符)。请在 TextField 元素的 Android Jetpack Composable 中向我建议您的答案。
Nik*_*nna 12
嘿,您可以在文本字段中使用singleLine = true,要在键盘中单击完成/输入键时执行任何自定义操作,您可以使用类似的东西
TextField(
value = text,
onValueChange = {text = it},
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(
onDone = { /* do something */},
onGo = { /* do something */},
onNext = { /* do something */},
onPrevious = { /* do something */},
onSearch = { /* do something */},
onSend = { /* do something */})
)
Run Code Online (Sandbox Code Playgroud)
您可以添加singleLine = true以避免新行。
您还可以使用onKeyEvent修饰符拦截 ENTER 并执行自定义操作。您还可以使用该属性对键盘中的完成键应用相同的操作KeyboardActions。
就像是:
TextField(
value = text,
onValueChange = {text = it},
singleLine = true ,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(
onDone = { /* do something */}
),
modifier = Modifier.onKeyEvent {
if (it.key == Key.Enter){
/* do something */
true
}
false
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2540 次 |
| 最近记录: |