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

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