Make play/pause animation easing linear (#183)
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user