Фикс прыгающей галочки

This commit is contained in:
2026-03-04 15:43:07 +05:00
parent 62857da793
commit 9e5e81d5e5

View File

@@ -741,21 +741,14 @@ fun GroupSetupScreen(
contentColor = Color.White,
shape = CircleShape,
modifier = run {
var lastStableFabBottom by remember { mutableStateOf(18.dp) }
val rawBottom = if (imeBottomDp > 0.dp) {
imeBottomDp + 14.dp
} else if (coordinator.isEmojiBoxVisible && coordinator.emojiHeight > 0.dp) {
coordinator.emojiHeight + 14.dp
} else {
18.dp
}
// During keyboard switch, keep FAB at last stable position
if (!coordinator.isTransitioning) {
lastStableFabBottom = rawBottom
}
// Берём максимум из всех позиций — при переключении keyboard↔emoji
// одна уходит вниз, другая уже на месте, FAB не прыгает.
val keyboardBottom = if (imeBottomDp > 0.dp) imeBottomDp + 14.dp else 0.dp
val emojiBottom = if (coordinator.isEmojiBoxVisible && coordinator.emojiHeight > 0.dp) coordinator.emojiHeight + 14.dp else 0.dp
val fabBottom = maxOf(keyboardBottom, emojiBottom, 18.dp)
Modifier
.align(Alignment.BottomEnd)
.padding(end = 16.dp, bottom = lastStableFabBottom)
.padding(end = 16.dp, bottom = fabBottom)
.size(58.dp)
}
) {