Android 图片翻面动画

一、需求描述

        项目需要实现塔罗牌的翻面效果,需要点击图片后,图片实现翻面,并且翻面过程中,替换成图片资源,类似于扑克牌翻面。

二、实现思路

        图片实现翻面效果,并且在动画执行到一半(刚好到图片背面的时候,进行图片替换)

(塔罗牌画廊:viewpager,图片翻面:ObjectAnimator)

三、实现代码

核心代码:

val flipAnimator = ObjectAnimator.ofFloat(imageView, "rotationY", 0f, 180f)
            flipAnimator.duration = 1000
            flipAnimator.addListener(object : AnimatorListenerAdapter() {
                override fun onAnimationEnd(animation: Animator) {
                    super.onAnimationEnd(animation)
                }
            })
            flipAnimator.start()
            MainScope().launch{
                delay(500)
                imageView.setImageResource(imageList[position].imageResId)
                imageView.rotationY = 0f
              
            }

四、代码逻辑

        首先新建一个翻转动画,动画时间为1000毫秒,并且绑定imageView,动画添加监听器,因为部分需求需要在动画结束后进行一些操作。下面的代码,为啥是延迟500毫秒,因为总动画为1000秒,翻面是180度,当500毫秒时,刚好开始看到背面,所以就是给用户一种流畅的卡牌翻面的效果。

你可能感兴趣的:(Android基础知识,Android开发小功能点,android)