Open1
キーボードでUIが隠れる問題を解決したい

Googleのクローズドテストに困っている方へ
もし、個人開発者様でせっかく作ったアプリがGoogle Play Consoleの
クローズドテストの要件に阻まれ、がっかりされている方がいらっしゃいましたら
ぜひ以下をご覧いただきDiscodeのコミュニティに参加することをお勧めします!
問題の本質
現状、LazyColumn や Column を使って各画面を構築。
keyboard を開いたときに 自動でスクロールしてくれないため、
入力欄が隠れてしまう 状況が発生。
修正案→Modiferの便利なメソッドを利用
LazyColumnを使っている場合→imePadding()追加
Modifierに「キーボードの分だけ余白を追加する」imePadding()を追加します。
@Composable
fun CanvasSec(
modifier: Modifier = Modifier,
viewModel: PromptViewModel,
uiState: PromptUiState,
) {
LazyColumn(
modifier = modifier
.padding(dimensionResource(R.dimen.p_small))
.fillMaxSize()
+ .imePadding()
){
・・・・・
Columnを使っている場合
Modifierに以下を追加。
- verticalScroll():画面をスクロース
- imePadding():キーボード分だけ余白を追加
Column(
modifier = modifier
.padding(dimensionResource(R.dimen.p_small))
+ .verticalScroll(rememberScrollState())
+ .imePadding()
)