1、动画(Animation)
传统动画中,有位移、旋转、缩放、透明度变化等动画,如以下代码移动一个图片控件
1 | TranslateAnimation animation = new TranslateAnimation(0, 200, 0, 0); |
但iv的属性却留在了原地。iv的事件响应只在原来位置生效。而属性动画这可以实现属性随控件移动,如下句:
1 | ObjectAnimator.ofFloat(iv, "translationX", 0, 200).setDuration(1000).start(); |
这句与以上代码会
有相同的动画效果,且iv的响应事件也会跟随控件移动。
translationX或者translationY都是指控件的偏移量,也可以使用X,Y 指的是控件位置变化,如下句:ObjectAnimator.ofFloat(iv, “Y”, 0, 200).setDuration(1000).start();这个方法的第二个参数是指控件中有get,set方法的属性名。只要有get与set方法就可以使用这种方法操作。如下句:
1 | ObjectAnimator.ofFloat(iv, "rotation", 0, 360).setDuration(1000).start();翻转360度 |
而若这三个动画放到一起,如下:
1 | ObjectAnimator.ofFloat(iv, "rotation", 0, 360).setDuration(1000).start(); |