开发遇到一个需要将LOGO做翻页式旋转的需求,大致可以理解为将一个圆的饼旋转成一个球,
翻看Animation的API并没有相关的功能,alpha,scale,rotate,translate,都无法完成对自身进行的翻页旋转,那我们就要想有什么可以做到呢?这个时候属性动画这个词汇给了我一个灵感,于是我去查了一下发现有个objectAnimati类,这个类的ofFlaot描述上刚好是我的需求
ofFloat(Object target, String propertyName, float… values) 正是这个方法可以帮助我们完成对自身属性的翻转,
private void startAnimation() {
ObjectAnimator oa = new ObjectAnimator().ofFloat(iv_logo,”rotationY”, 0,60,90,180,240,300,360);
//一次动画完成的时间
oa.setDuration(2000);
oa.setRepeatCount(ObjectAnimator.INFINITE);
oa.start();
}
这个方法通过获取ObjectAnimation的对象来调用ofFlaot方法,拆分一下代码: