android 喷气背包内的动画合成绘图范围

blmhpbnm  于 2023-05-05  发布在  Android
关注(0)|答案(1)|浏览(200)

我尝试在drawScope中实现两种不同的动画:

  1. clipRect(作为路径上的第一部分)
  2. slideInVertically(作为可绘制图形上的第二部分,如此处的表格所示)
    我能够在this video的帮助下实现clipRect部分,但我正在努力实现slideInVertically。那么,我们是否可以实现它,特别是在drawScope中?
    另外,还有一个关于Jetpack合成动画的一般问题:
    如果我想在drawScope中尝试所有这些动画,有没有任何文档可以帮助我?
i86rm4rw

i86rm4rw1#

我们可以使用traslate函数沿着animateTo函数来实现slideInVertically效果。
它是这样的:

val translateBy = remember {Animatable(initialValue = 0f)}

LaunchedEffect(Unit){
    translateBy.animateTo(targetValue = 1f, animationSpec = tween(2000)
}
...
...
{ // drawScope
    translate (100.dp.toPx()*translateBy.value){
        drawImageFromDrawable(this /*drawScope*/, imagesList) // function to draw image from drawable
    }
}

关于一般性问题:
如果我想在drawScope中尝试所有这些动画,有没有任何文档可以帮助我?
留下一些动画,如fadeInfadeOut,其他动画可以通过使用traslatescale函数的不同组合沿着if else语句来实现。

相关问题