I have a Pager from which I get the position progress from 0 to 1. I would like to change the background color of the Surface that contains the Pager depending on the PagerState the same way I was able to do it for alphas:
val alphaAnimation by animateFloatAsState(
targetValue = progress, // <- derivedStateOf PagerState
animationSpec = spring(stiffness = Spring.StiffnessMedium),
label = ""
)
Is it possible to use the same progress between 2 color values?
I didn't find a way using for animateColorAsState
If you wish to use a float value between 0f and 1f for changing between 2 colors you can use linear interpolation function for Color which is
For instance as
lerp(Color.Red, Color.Green, progress)can be used to change color based on pager swipe if you change the range from 0f to 1f.