Несколько imeActions для TextField в Jetpack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Несколько imeActions для TextField в Jetpack Compose

Сообщение Anonymous »

В Jetpack Compose я хочу обрабатывать несколько событий imeAction в TextField. Я хочу, чтобы клавиша ввода создавала новую строку и перемещалась к другим текстовым полям. Во многих приложениях это отображается в небольшом меню, которое появляется при длительном нажатии клавиши ввода.
Поскольку можно передать только один параметр imeAction, операции в KeyboardActions не работают.< /p>

Код: Выделить всё

@Composable
fun MainScreen() {
var tf1 by remember { mutableStateOf("") }
var text by remember { mutableStateOf("") }
var tf2 by remember { mutableStateOf("") }

Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(16.dp,Alignment.CenterVertically)
) {
TextField(value = tf1, onValueChange = {tf1 = it})

TextField(
value = text,
onValueChange = { text = it },
keyboardOptions =
KeyboardOptions(
// I want to use Default, Previous and Next imeActions in this TextField.
imeAction = ImeAction.Default,
),
singleLine = false,
keyboardActions = KeyboardActions(
onPrevious = {
defaultKeyboardAction(
ImeAction.Previous
)
},
onNext = {
defaultKeyboardAction(
ImeAction.Next
)
}
)
)

TextField(value = tf2, onValueChange = {tf2 = it})
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»