Make play/pause animation easing linear (#183)

This commit is contained in:
vfsfitvnm
2022-08-10 14:06:51 +02:00
parent 349474ba1f
commit c37bf67d20

View File

@@ -1,8 +1,11 @@
package it.vfsfitvnm.vimusic.ui.views.player package it.vfsfitvnm.vimusic.ui.views.player
import android.text.format.DateUtils import android.text.format.DateUtils
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.animateDp
import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
@@ -72,7 +75,13 @@ fun Controls(
Database.likedAt(mediaItem.mediaId).distinctUntilChanged() Database.likedAt(mediaItem.mediaId).distinctUntilChanged()
}.collectAsState(initial = null, context = Dispatchers.IO) }.collectAsState(initial = null, context = Dispatchers.IO)
val playPauseRoundness by animateDpAsState(if (shouldBePlaying) 32.dp else 16.dp, tween()) val shouldBePlayingTransition = updateTransition(shouldBePlaying, label = "shouldBePlaying")
val playPauseRoundness by shouldBePlayingTransition.animateDp(
transitionSpec = { tween(durationMillis = 100, easing = LinearEasing) },
label = "playPauseRoundness",
targetValueByState = { if (it) 32.dp else 16.dp }
)
Column( Column(
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,