如何使用 Kotlin 在 Android 中为“赞”按钮创建弹出动画?

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

如何使用 Kotlin 在 Android 中为“赞”按钮创建弹出动画?

这是我迄今为止尝试过的:

  1. 使用 ObjectAnimator 更改按钮单击时的比例。
  2. 添加了 onClickListener 来触发动画。

但是,动画看起来并不像我想要的那么流畅或有影响力。有没有办法链接动画或使这种流行效果更平滑?我应该使用 ObjectAnimator 以外的其他东西还是调整时间?

我希望按钮在点击时能顺利“弹出”,为用户创造满意的反馈效果。

android animation popup
1个回答
0
投票

我已经尝试过这种方法,它对我有用。

  fun animateLikeButton(likeButton: ImageView, context: Context) {
        val scaleUpX = ObjectAnimator.ofFloat(likeButton, "scaleX", 1f, 1.4f)
        val scaleUpY = ObjectAnimator.ofFloat(likeButton, "scaleY", 1f, 1.4f)

        val scaleDownX = ObjectAnimator.ofFloat(likeButton, "scaleX", 1.4f, 1f)
        val scaleDownY = ObjectAnimator.ofFloat(likeButton, "scaleY", 1.4f, 1f)

        val scaleUpSet = AnimatorSet().apply {
            playTogether(scaleUpX, scaleUpY)
            duration = 150
        }

        val scaleDownSet = AnimatorSet().apply {
            playTogether(scaleDownX, scaleDownY)
            duration = 150
        }

        scaleDownSet.addListener(object : AnimatorListenerAdapter() {
            override fun onAnimationStart(animation: Animator) {
                super.onAnimationStart(animation)
                likeButton.setImageDrawable(
                    ContextCompat.getDrawable(
                        context, R.drawable.ic_like_filled
                    )
                )

            }
        })

        AnimatorSet().apply {
            playSequentially(scaleUpSet, scaleDownSet)
            start()
        }
    } 

我希望它能解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.