前言
- 应用开发中,常常需要与用户有一个交互过程,好的交互设计,能给用户带来更便利的操作使用,和更好的交互体验,也能为我们的应用加分。比如验证码输入密码输入的结果提示,为了能够及时提示用户主而且不需要另外弹窗提示而增加用户的操作,最好的方法就是给提示文字加上抖动效果,如下图:
<这里只应用了左右抖动,实际的动画效果会比GIF图好很多>
实现
动画主要使用了Keyframe和PropertyValuesHolder。
Keyframe是一个时间/值对,用于定义在某个时刻动画的状态。比如Keyframe.ofInt(.5f, Color.RED)定义了当动画进行了50%的时候,颜色的值应该是Color.RED。
PropertyValuesHolder保存了view的属性的信息以及在动画进行过程中该属性的值。通过PropertyValuesHolder.ofKeyframe方法来构建PropertyValuesHolder的实例,改方法接收一个属性名
以及多个Keyframe对象作为参数。当你想通过动画改变多个属性的时候PropertyValuesHolder就非常有用。