fix: revert avatar animation
This commit is contained in:
@@ -280,14 +280,20 @@ fun OtherProfileScreen(
|
||||
// Тянем вверх (delta < 0)
|
||||
if (delta < 0) {
|
||||
// Сначала убираем overscroll
|
||||
if (overscrollOffset > 0) {
|
||||
if (overscrollOffset > 0 || isPulledDown) {
|
||||
// 🔥 FIX: Если isPulledDown=true - НЕ меняем overscrollOffset напрямую
|
||||
// Только сбрасываем isPulledDown и даём анимации плавно свернуть
|
||||
if (isPulledDown) {
|
||||
// При достаточном свайпе вверх - плавно сворачиваем
|
||||
if (delta < -10f) {
|
||||
isPulledDown = false
|
||||
// 🔥 НЕ сбрасываем overscrollOffset - пусть animatedOverscroll плавно вернётся к 0
|
||||
}
|
||||
return Offset(0f, delta) // Consume весь delta
|
||||
}
|
||||
val newOffset = (overscrollOffset + delta).coerceAtLeast(0f)
|
||||
val consumed = overscrollOffset - newOffset
|
||||
overscrollOffset = newOffset
|
||||
// Сбрасываем isPulledDown если вышли из expanded
|
||||
if (overscrollOffset < maxOverscroll * 0.5f) {
|
||||
isPulledDown = false
|
||||
}
|
||||
return Offset(0f, -consumed)
|
||||
}
|
||||
// Затем коллапсируем header
|
||||
|
||||
@@ -423,14 +423,20 @@ fun ProfileScreen(
|
||||
// Тянем вверх (delta < 0)
|
||||
if (delta < 0) {
|
||||
// Сначала убираем overscroll
|
||||
if (overscrollOffset > 0) {
|
||||
if (overscrollOffset > 0 || isPulledDown) {
|
||||
// 🔥 FIX: Если isPulledDown=true - НЕ меняем overscrollOffset напрямую
|
||||
// Только сбрасываем isPulledDown и даём анимации плавно свернуть
|
||||
if (isPulledDown) {
|
||||
// При достаточном свайпе вверх - плавно сворачиваем
|
||||
if (delta < -10f) {
|
||||
isPulledDown = false
|
||||
// 🔥 НЕ сбрасываем overscrollOffset - пусть animatedOverscroll плавно вернётся к 0
|
||||
}
|
||||
return Offset(0f, delta) // Consume весь delta
|
||||
}
|
||||
val newOffset = (overscrollOffset + delta).coerceAtLeast(0f)
|
||||
val consumed = overscrollOffset - newOffset
|
||||
overscrollOffset = newOffset
|
||||
// Сбрасываем isPulledDown если вышли из expanded
|
||||
if (overscrollOffset < maxOverscroll * 0.5f) {
|
||||
isPulledDown = false
|
||||
}
|
||||
return Offset(0f, -consumed)
|
||||
}
|
||||
// Затем коллапсируем header
|
||||
|
||||
Reference in New Issue
Block a user