Фикс прыгающей галочки
This commit is contained in:
@@ -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)
|
||||
}
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user