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