Animation 如何让Jetpack合成无限动画图像

Animation 如何让Jetpack合成无限动画图像,animation,android-jetpack-compose,Animation,Android Jetpack Compose,我有一个动画向量可绘制。 我希望在显示此图像时,将此动画向量设置为循环动画。 无法找到解决此问题的好方法 val image=animatedVectorResource(R.drawable.no\u devices\u animated) 通过记住{mutableStateOf(false)}来结束变量 形象( 画家=图像。画家(atEnd), “图像”, 修改器。宽度(150.dp)。可单击{ atEnd=!atEnd }, contentScale=contentScale.Fit)

我有一个
动画向量
可绘制。 我希望在显示此图像时,将此动画向量设置为循环动画。 无法找到解决此问题的好方法

val image=animatedVectorResource(R.drawable.no\u devices\u animated)
通过记住{mutableStateOf(false)}来结束变量
形象(
画家=图像。画家(atEnd),
“图像”,
修改器。宽度(150.dp)。可单击{
atEnd=!atEnd
},
contentScale=contentScale.Fit)
当我点击图像时,它正在设置动画,但随后停止。这是一种无限的进步。

将我的解决方案留在这里(使用compose beta-06)

@ExperimentalComposeUiApi
@组合的
趣味动画VectorDrawableAnim(){
val图像=动画矢量源(R.drawable.avd_检查)
通过记住{mutableStateOf(false)}来结束变量
//此状态是控制启动/停止动画所必需的
通过记住{mutableStateOf(true)}运行var
//协同程序作用域是启动协同程序所必需的
//响应单击事件
val scope=rememberCoroutineScope()
//此函数在组件首次启动时调用
//最近当按下按钮时
暂停趣味runAnimation(){
同时(正在运行){
延迟(1000)//在此处设置动画之间的延迟
atEnd=!atEnd
}
}
//这是必要的,如果您希望在
//组件。否则,您可以将其删除。
LaunchDeffect(图像){
runAnimation()
}
形象(
画家=图像。画家(atEnd),
无效的
修饰语
.尺寸(150.dp)
.可点击{
isRunning=!isRunning//开始/停止动画
if(isRunning)//如果isRunning为true,则运行动画。
范围.发射{
runAnimation()
}
},
contentScale=contentScale.Fit,
colorFilter=colorFilter.tint(Color.Red)
)
}
将我的解决方案留在这里(使用compose beta-06)

@ExperimentalComposeUiApi
@组合的
趣味动画VectorDrawableAnim(){
val图像=动画矢量源(R.drawable.avd_检查)
通过记住{mutableStateOf(false)}来结束变量
//此状态是控制启动/停止动画所必需的
通过记住{mutableStateOf(true)}运行var
//协同程序作用域是启动协同程序所必需的
//响应单击事件
val scope=rememberCoroutineScope()
//此函数在组件首次启动时调用
//最近当按下按钮时
暂停趣味runAnimation(){
同时(正在运行){
延迟(1000)//在此处设置动画之间的延迟
atEnd=!atEnd
}
}
//这是必要的,如果您希望在
//组件。否则,您可以将其删除。
LaunchDeffect(图像){
runAnimation()
}
形象(
画家=图像。画家(atEnd),
无效的
修饰语
.尺寸(150.dp)
.可点击{
isRunning=!isRunning//开始/停止动画
if(isRunning)//如果isRunning为true,则运行动画。
范围.发射{
runAnimation()
}
},
contentScale=contentScale.Fit,
colorFilter=colorFilter.tint(Color.Red)
)
}