Android 动画类使用心得

RotateAnimation

1、属性说明

float pivotX = mIvArrow.getWidth() / 2;
float pivotY = mIvArrow.getHeight() / 2;
mRotateAnimation = new RotateAnimation(0, 90, pivotX, pivotY);
mRotateAnimation.setFillAfter(true);
mRotateAnimation.setDuration(200);

此为旋转动画类,如上代码片为常见实现代码,就此展开说说几个属性。
旋转角度:分为旋转开始和结束的角度,分别对应构造实现中的1、2形参。使用后总结了一下角度设置的经验(想达到预期效果):在旋转对象的四周确定一个明显的点为0度,比如旋转对象为一个内容是箭头向下的图片,那么我先确定箭头顶点为0度位置,当我设置了开始为0,结束为90的度数值并启动了动画,动画一开始的一刹那间箭头会先到达你定义的0度位置,然后再顺时针旋转90度,最后箭头指向(你定义的0度相对应的)90度位置,(旋转后停留在最后的角度需要调用setFillAfter设置为true)。同理,如果以上开始和结束角度分别设置90度和180度并启动动画,那么图片中的箭头会先快速到达并指向(你定义的0度相对应的)90度位置,然后在设置的间隔时间内开始动画旋转到180度位置。其实,当你选择一个旋转对象中明显的一个边缘点作为0度位置,然后集中注意力观察这个明显的点的旋转规律来理解度数设置就会简单的多。需要注意的是,这个类的旋转当结束的度数大于开始的度数时效果是顺时针的,反正逆时针。
旋转中心:默认为view的左上角。示例代码中为以view的中心为旋转中心。
保持效果:setFillAfter,调用该方法并设置true表示旋转后停在结束度数,反之,恢复原图。
动画时长:setDuration,调用该方法设置从开始旋转到结束度数的时长。

2、用法

mIvArrow.startAnimation(mRotateAnimation);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值