Android 动画类使用心得

来源:互联网 发布:国家电网照片采集软件 编辑:程序博客网 时间:2024/04/30 05:51

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);
0 0
原创粉丝点击