首页 > 学院 > 开发设计 > 正文

ImageView做翻页式旋转动画

2019-11-09 15:36:59
字体:
来源:转载
供稿:网友

开发遇到一个需要将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方法,拆分一下代码:

1. iv_logo :是我们需要进行旋转的图片对象,这个方法里已经通过findById获取到了图像的本身

2. “rotationY”: 这一度让我很疑惑是什么意思,通过翻译我们可以清楚的认识到这是在Y轴上对图像进行旋转.

3.  0,60,90,180,240,300,360 :方法中的角度数,这可以控制动画的翻转的角度,让它看起来显的自然,如果从0直接到360你会看到它很生硬的翻转


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表