Android如何连续播放动画

问题描述 投票:0回答:1

我已经在android中创建了给卡片动画。当我收到服务器的响应时,应该运行此动画。因此,在游戏开始时,我应该给所有玩家提供卡片。

1)我的第一种方法是遍历播放器并为每个给定的GiveCardAnimation运行,但随后动画不会彼此等待完成

2)第二种方法是在循环内部使用Handler,但这在服务器中只起作用一次,有时我可以得到2次GiveCardToAllPlayers。因此,这个GiveCardPlayer函数应该等到动画完成为止

Handler()。postDelayed({

                giveCardToPlayer(playerId)
        }, duration * index)

当一个播放器的动画结束时,如何为其他播放器再次运行此GiveCardPlayer函数?

Example Code

java android kotlin animation
1个回答
0
投票

我认为您正在寻找的是AnimationListener中的onAnimationEnd(),其中您的动画对象采用一个实现了这样的Animation Listener的对象

animation.setAnimationListener(object : Animation.AnimationListener {
            override fun onAnimationEnd(animation: Animation?) {
                giveCardAnimationForNextPlayer()
            }

            override fun onAnimationStart(animation: Animation?) {}
            override fun onAnimationRepeat(animation: Animation?) {}
}
© www.soinside.com 2019 - 2024. All rights reserved.