IME Action Buttons в Android
В Android IME (Input Method Action) это кнопка на клавиатуре в правом нижнем углу. Она предназначена для выполнения определённого действия. Например, Done означает, что пользователь заполнил все поля ввода. Next — что пользователь заполнил данное поле ввода и хочет перейти к следующему.
Класс KeyboardOptions в Jetpack Compose позволяет настроить клавиатуру для определённого текстового поля. В правом нижем углу появляется кнопка, действие по нажатию на которую различается в зависимости от назначения поля ввода.
Доступны следующие вариации imeAction:
ImeAction.Unspecified: поведение imeAction по умолчанию — не определено.
ImeAction.Done: ввод завершён, скрыть клавиатуру.
ImeAction.Next: перейти к следующему полю ввода.
ImeAction.Previous: вернуться к предыдущему полю ввода.
ImeAction.Send: отправить данные.
Пример переиспользуемой Composable-функции:
@Composable
fun FormInput(
value: String,
description: String,
keyboardActions: KeyboardActions = KeyboardActions.Default,
imeAction: ImeAction = ImeAction.Default,
onValueChanged: (String) -> Unit
) {
OutlinedTextField(
modifier = Modifier
.fillMaxWidth()
.padding(8.dp),
value = value,
label = { Text(text = description) },
keyboardOptions = KeyboardOptions(imeAction = imeAction),
keyboardActions = keyboardActions,
onValueChange = { newValue -> onValueChanged(newValue) }
)
}В параметр передаётся imeAction, по умолчанию это ImeAction.Default.