用Android rotate动画实现翻页效果,效果如图:
要实现上面动画,首先搞明白rotate动画原理;
(1)Degrees坐标:
0度(360度)
270度 90度 顺时针旋转
180
(2)rotate 关键属性
fromDegrees 开始旋转时角度 toDegrees 结束时的角度
pivotX,pivotY 旋转时的中心点 他们范围是 0—100%p (0,0)代表左上角,(100%p, 100%p)右下角
duration 动画持续时间 毫秒为单位
知道了这两点就可以实现了 在res新建 anim 文件夹
新建 离开Activity时的xml
- <?xml version=“1.0” encoding=“utf-8”?>
- <set xmlns:android=“http://schemas.android.com/apk/res/android” >
- <rotate
- android:duration=“500”
- android:fromDegrees=“0”
- android:pivotX=“0”
- android:pivotY=“0”
- android:toDegrees=“0” />
- </set>
新建 进入Activity时的xml
- <?xml version=“1.0” encoding=“utf-8”?>
- <set xmlns:android=“http://schemas.android.com/apk/res/android” >
- <rotate
- android:duration=“500”
- android:fromDegrees=“90”
- android:pivotX=“100%p”
- android:pivotY=“100%p”
- android:toDegrees=“0” />
- </set>
最后就是代码调用了
- Intent intent = new Intent(ActivityAnimationDemo.this, activtyanimationdemo2.class);
- startActivity(intent);
- overridePendingTransition(R.anim.rotate_left, R.anim.rotate_right);
解释一下应放入的参数
- overridePendingTransition(进入时的动画,离开时的动画)
源码下载(为了方便,把移动和 旋转动画代码写一块了)