feat: update FAB bottom padding logic in GroupSetupScreen to improve positioning with keyboard and emoji panel
This commit is contained in:
@@ -226,14 +226,15 @@ fun GroupSetupScreen(
|
||||
val density = LocalDensity.current
|
||||
val imeBottomPx = WindowInsets.ime.getBottom(density)
|
||||
val imeBottomDp = with(density) { imeBottomPx.toDp() }
|
||||
// FAB bottom padding: keep FAB at a consistent visual position above any keyboard.
|
||||
// When emoji panel is shown → it's part of Scaffold bottomBar, paddingValues includes it,
|
||||
// so we offset from the *content area* bottom which is already above the emoji panel.
|
||||
// When IME is shown → paddingValues don't include IME, so we add imeBottomDp.
|
||||
// When neither → just a small offset from the bottom.
|
||||
val fabBottomPadding =
|
||||
if (coordinator.isEmojiBoxVisible) {
|
||||
// Emoji panel is shown as Scaffold bottomBar → paddingValues already
|
||||
// reserves space for it, so FAB only needs a small offset above it.
|
||||
14.dp
|
||||
} else if (imeBottomDp > 0.dp) {
|
||||
// System keyboard is open but NOT covered by paddingValues.
|
||||
// Place FAB at the same visual position as with the emoji panel.
|
||||
14.dp + imeBottomDp
|
||||
} else {
|
||||
18.dp
|
||||
|
||||
Reference in New Issue
Block a user