您好,我有一个包含多个文本字段的注册屏幕,我使用 adjustResize 和底部栏中的一个按钮。当键盘打开时,如何使文本字段始终移动到底部栏上方。在文本字段位于屏幕底部的情况下,当我单击它时可以正常填充它,但它被底栏覆盖了。
Scaffold(
modifier = Modifier.clearFocus(),
topBar = {
MainTopBar(
leadingIcon = R.drawable.ic_back,
onLeadingClick = {
navController.navigateUp()
}
)
},
bottomBar = {
MainButton(
modifier = Modifier.fillMaxWidth().padding(16.dp),
onClick = { /*TODO*/ },
text = "asdasda",
)
}
) { innerPadding ->
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
.fillMaxSize()
.padding(innerPadding)
.padding(horizontal = dimensionResource(id = R.dimen.regular_padding))
) {
MainHeader(title = stringResource(id = R.string.register))
Spacer(modifier = Modifier.height(dimensionResource(id = R.dimen.regular_padding)))
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
InputTextField(
value = "",
onValueChange = { email ->
},
placeholder = stringResource(id = R.string.email),
error = false,
keyboardType = KeyboardType.Email,
imeAction = ImeAction.Next,
textFiledType = TextFiledType.CENTERED
)
}
}
我尝试使用 WindowInsets 但我不知道这是否是解决此问题的方法。另一方面,调整平移选项导致键盘打开时无法滚动整个屏幕。