Android Button背景动画

时间:2018-07-26 21:56:05

标签: android animation button

我一直在寻找解决问题的方法,但无法解决问题。 我正在开发测验应用程序。我想有4个默认样式的按钮(每个按钮是一个不同的答案)。在单击正确答案后,我希望按钮的颜色变为绿色。如果用户单击了错误的项目,我希望它变为红色。 到目前为止,我所做的是:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    val animator = ObjectAnimator.ofInt(
            button,
            "backgroundTint",
            Color.TRANSPARENT, Color.GREEN) //TODO: How to revert?
    animator.duration = 2000L
    animator.setEvaluator(ArgbEvaluator())
    animator.interpolator = DecelerateInterpolator(2f)
    animator.addUpdateListener { animation ->
        val animatedValue = animation.animatedValue as Int
        button.setBackgroundTintList(ColorStateList.valueOf(animatedValue))
    }
    animator.start()
} else {
    //TODO What else?
}

该代码使我可以根据需要将按钮颜色更改为绿色/红色。但是,我应该怎么做才能还原此更改?更改ObjectAnimator.ofInt()中的颜色顺序,使其在TRANSPARENT处结束,导致按钮透明。以及如何处理LOLLIPOP(19+)以下的API中的这一更改?

0 个答案:

没有答案